• 締切済み

VC++でダイアログボックスを表示させるプログラム

VC++のプログラミングで、実行できない原因が 判らないので、ヒントをいただけないでしょうか。 現在VC++の勉強中で、ダイアログボックスを 表示するプロジェクトを作成しています。 ビルドエラーは出ないのですが、実行しても 何も表示されません。 メニューを持った親ウインドウを表示し、 メニューから「加算」を選択すると 計算用のダイアログボックスが表示されるプログラムです。 ダイアログボックスは三個のテキストボックスと 二個のボタンがあり、数字を二箇所入れ ボタンを押すと計算結果を表示します。 長くなる為ソースは書けないのですが、 こういう場合まず何からチェックすればいいでしょうか? 初心者なのでちょっとしたことで間違えているかも しれません。どなたかアドバイス下さい。

みんなの回答

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.1

> こういう場合まず何からチェックすればいいでしょうか? 例えば、MFCの場合で、 CMyDialog* pDlg = NULL; pDlg = new CMyDialog("なまえ", 1, 2, 3); int iRet = pDlg->DoModal(); のような感じならば、DoModal()の返り値は?newの返り値は?CMyDialog::Init…の返り値は?とか。 ダイアログを表示する変わりにメッセージボックスを表示する処理にしてみれば、メニューの処理が変なのか、ダイアログが変なのか、切り分けられます。 適当に作った別のダイアログやコモンダイアログを表示してみれば、独自のダイアログが変なのか、ダイアログ全般に関して挙動が変なのか、切り分けられます。

akiko-um
質問者

お礼

ありがとうございます。 二点アドバイスを頂いたと思うのですが、 回答頂いた内容が、自分には難しくおたおた しています。(^^;) 「MFCの場合」ということで頂いたソースなのですが、 自分の書いたものと全く違うように見えます。 APIだけを使うプログラミングの参考書の通りに 作ったので、そのせいでしょうか? それとも単に関数の名前が違うのでわかっていない だけでしょうか? ダイアログを表示するかわりにメッセージボックスを 表示する処理にする、という方法もまだ参考書と にらめっこする状態です。 もう一度ソースを参考書と見比べて、より簡単な プログラムを作ってみます。 どうもありがとうございました。

akiko-um
質問者

補足

親ウインドウのウインドウプロシージャの中で、 switch case: のあとに return 0; を書いていない個所がありました。 追加したら実行できました。 初歩的なことで、すみません。 ありがとうございました。