- - PR -
MFC MDIで子ウィンドウの作り方
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-02-07 15:02
MFC MDIでウィザードからアプリケーション作成時
標準ではメニューの新規作成をクリックすることで新しい子ウィンドウが作成されますが これを、メニュー->管理->サーバー選択と選び ダイアログを表示した後 ダイアログに貼り付けたコンボボックスからサーバー名を選び OKボタンを押したあと子ウィンドウを作成するにはどうすればいいでしょうか よろしくお願いします。 | ||||||||
|
投稿日時: 2006-02-07 15:44
どこまでできて、具体的にはどこが不明ですか?
_________________ 囚人のジレンマな日々 | ||||||||
|
投稿日時: 2006-02-07 15:58
CXXXDoc::OnNewDocumentあたりを調べてみてください。
ドキュメントが初期化される時にそこにくるはずです。 (もちろん、いきなり立ち上げるとそこにいきます。) というか、MFCのスケルトンに頼りすぎです。 新規作成を押したときにドコに処理がくるのか、適当にメソッド名にあたりをつけて ブレイクポイントを設置して、実行してみたりしてみましたか? そういうことをやらないと一向に上達しません。 [ メッセージ編集済み 編集者: Blue 編集日時 2006-02-07 16:00 ] | ||||||||
|
投稿日時: 2006-02-07 16:02
あ、、勘違いした。
> これを、メニュー->管理->サーバー選択と選び だから、ちゃうですな。 新規作成でダイアログを表示させるのかと思いました。 ま、結構ヒントみたいなこといっているからいいかな。。。 [ メッセージ編集済み 編集者: Blue 編集日時 2006-02-07 16:06 ] | ||||||||
|
投稿日時: 2006-02-07 16:40
こんにちは。
そのまま単純に質問に回答しますと 「ID_FILE_NEWコマンドを発行すればいいです」 ということになりますが、 この答えでは、きっとダメなんでしょうね(~_~;) | ||||||||
|
投稿日時: 2006-02-07 17:26
googleにてMDI 子ウィンドウ作成 のキーワードで検索して
下記サイトを参考にしてたんですが、どうもSDIだったみたいですね(URLまで見てませんでした。) http://homepage2.nifty.com/DSS/VCPP/MFC/SDI/SDICreateChild.htm ON_COMMNAND(ID_FILE_NEW, CWinApp:nFileNew) あたりを突っ込んで調べたほうが良いんでしょうか? MFC/MDIは初めて触るのでどこから理解したら良いのやらわかってません。 ※諸兄の質問に回答できてなくてすみません、諸事情により2日ほどスレッド見れないかも知れません | ||||||||
|
投稿日時: 2006-02-07 17:35
とりあえず、MDIでの
> 「ID_FILE_NEWコマンドを発行すればいいです」 は フレームウィンドウクラスを取得して、 フレームウィンドウクラス->SendMessage( WM_COMMAND, MAKEWPARAM( ID_FILE_NEW, 0 ) ); とすればできます。 # AfxGetApp()->m_pDocManager->OnFileNew(); # では邪道なんでしょうかね、、、 > MFC/MDIは初めて触るのでどこから理解したら良いのやらわかってません。 結局 SDI なのか MDI なのかどっちなのでしょうか? SDIであるときに、いきなり起動したときにあるドキュメントはどのような扱いなんでしょうか? (本来ならば、起動直後にサーバー選択ダイアログを出すべきなのでは?) あまり焦らずに、VC系の入門書を購入して勉強なされたほうが今後のためですよ。 | ||||||||
|
投稿日時: 2006-02-07 17:54
こんばんは。
そうですね。CWinApp::OnFileNew()あたりからMFCのソースコードをトレースしてみるといいと思います。 CDocManager::OnFileNew()が呼び出されるのですが、そこの実装が参考になるでしょう。 #つまり適切なCDocTemplateクラスのOpenDocumentFile(NULL)を呼び出せばよいことが分かるはずです。
そうだろうなぁと思いました。 なんとなく右も左も分からないまま、いきなり開発されているように見えました(~_~;) もうすこし、MDI(Multiple Document Interface)やMFCのDocment/Viewアーキテクチャーなどいろいろ勉強して フレームワークを理解したうえで開発されるほうがよいでしょうね。 MFCは強力なフレームワーク/ライブラリですが、決してお手軽なものではないですから(~_~;) MFCを使いこなすには、表面的な知識だけではなく、 Insideな部分(つまりMFCソースコード)も理解しておく必要があると思います。 「ソースを使え、ルーク」です。 |