dポイントプレゼントキャンペーン実施中!

先ほどの図書館システムを質問したものですが、MFCには簡単にInputboxを出せる関数はあるのでしょうか?それともダイアログを小さくするとか...?

今考えてみたら、SDKで出来そうですよね。SDKのどの関数がVBでいうInputboxに相当するのでしょうか?また,その関数はどうやって呼べばいいのでしょうか?

A 回答 (2件)

関数は、xxxApp::InitInstance()内の記述方法ですよね?


ログインダイアログをm_pMainWndにするのもなんですので

LoginDlg login;
int nResponse = login.DoModal();
if (nResponse == IDOK)
{
CMainDlg dlg;
m_pMainWnd = &dlg;
}
でOKだと思います。
    • good
    • 0
この回答へのお礼

上記のコード通り自分のコードに書き込んでも上手く行かず、嘆いてばかりいたのですが、BreakPointを置きながら、プログラムの動きを追っていったら、Dlg.DoModal()を書き忘れてることに気づきました...。syousukeさん、アドバイスありがとうございました。

お礼日時:2002/05/18 09:19

VBのInputBoxは、Cでは簡単には行かないと思います。


MFCでは、おっしゃる通り、ダイアログエディタで作るしかないでしょう。
SDKだともっとめんどくさくて、リソースファイルを作ってやるか、CreateWindowを使って、やるかだとおもいます。
CreateWindow関数の方法では、最初にCreateWindowでダイアログ形式のウインドウを作って
次に戻り値のhWndを親にして、エディットボタンのクラスでCreateWindowを呼べばOKだと思います。

この回答への補足

さっそくの回答ありがとうございます。

結局MFCで新しいダイアログボックスを作ることにしたのですが、このInputBoxはログイン認証のためのもので、認証が成功すると(OKボタンが押されると)、メインのダイアログを動かすようにしたいのですが、どのように呼べばいいのでしょうか?

LoginDlg dlg;
m_pMainWnd = &dlg;

int nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
MainDlg Main_dlg;
m_pMainWnd = &Main_dlg;
}
でよろしいのでしょうか...?

補足日時:2002/05/13 12:09
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!