私はCViewを持っていて、それにうまくペイントしています。その後、テキスト ボックスやコンボ ボックスなどのコントロールを CView に追加する必要があることに気付きました。したがって、CView をデフォルトのコンストラクターを持たない CFormView に変換しようとしています。しかし、この行にはデフォルトのコンストラクターが必要なIMPLEMENT_DYNCREATE(CMyView, CFormView)
ので、このようなデフォルトのコンストラクターを作成しましたCMyView::CMyView():CFormView( ( UINT )666 ) { ... }
。その 666 は、どの引数をそこに渡すべきかわからないためです。CMyView クラスの ID を渡す必要があると推測しています。Visual Studio プロジェクト ウィザードによって自動的に作成された CMyView クラスの ID が見つかりません。どこで探せばいいですか?プログラムを実行すると、次のエラーが表示されます。First-chance exception at 0x75AEC41F in myapp.exe: Microsoft C++ exception: CInvalidArgException at memory location 0x003CF134.
Critical error detected c0000374
myapp.exe has triggered a breakpoint.
そして、free.c の 51 行目で停止します。私の質問は、どうすればこれを修正できますか? また、以前の CView (現在は CFormView) で以前にペイントしたものを保持したいと考えています。CFormView は CView のように描画できますか? そうでない場合、CMainFrame で分割ペインを使用し、CView と CFormView を使用する必要がありますか? Javaスイングに固有の用語を使用した可能性がありますが、それについてはお詫び申し上げます。MFC と C++ は初めてです。事前にありがとう、コーネリュー
1478 次