- - PR -
VC++.net の Form 上の Dialog 実装
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-10-09 17:17
WindowsXP professional で VC++.NET を使っています。
Windows Form アプリケーションのテンプレートから作成し、 Form 上にボタンを配置して Dialog を表示させるため、 以下のコードを組みました。 public __gc class Form1 : public System::Windows::Forms::Form { ・・・・ private: System::Void FunctionButton_Click(System:bject * sender, System::EventArgs * e) { CFuncDlg dlgFunc; <--- "CFuncDlg" は MFC の CDialog の派生クラス dlgFunc.Create(IDD_DIALOG_FUNC, NULL); <--- (1) dlgFunc.ShowWindow(SW_SHOW); } ・・・ } 実行(1) の部分で、"Debug Assertion Failed!" のエラーが表示されてとまってしまいます。エラーメッセージの中身は、実行ファイルと、以下のファイル名が表示されています。 "f:\vc70\builds\3077\vc\MFCATL\ship\atlmfc\include\afxwin1.inl" ステップ実行で、(1) の中に入ろうとすると、Surce ファイル名を指定するダイアログが表示されるため、どうしていいのか分かりません。 また、CDialog から派生させて作った "CFuncDlg" クラスでは、OnInitDialog() メソッドはありません。これは、以下の手順で、OnInitDialog() を実装しようとしましたが、できなかったからです。 1.ダイアログを "リソースビュー" を右クリックしてダイアログを作成 2.そのダイアログをクリックしてプロパティウィンドウを表示 3.プロパティウィンドウの "メッセージ" ツールボックスをクリック 4.WM_INITDIALOG メッセージを探して OnInitDialog() を実装 上記手順 4. で WM_INITDIALOG がなかったからです。 上記コード(1)の部分で失敗するのは、 OnInitDialog() がないからではと思っていますが、なにかよいアドバイスは御座いませんでしょうか? よろしくお願いします。 |
1