ウィンドウ作成直後のイベント – プログラミング – Home

ウィンドウ作成直後のイベント
 
通知
すべてクリア

[解決済] ウィンドウ作成直後のイベント


kouki
 kouki
(@kouki)
ゲスト
結合: 14年前
投稿: 2
Topic starter  

環境
WindowsXP sp3
VisualStudio2005 MFC

SDIでプログラムを作成するとき、メインウィンドウ作成直後に何か処理を
するには、どうすればよいでしょうか?

最初は、MainFrameやViewのOnCreateの中に処理を記述すればよいのでは
と思っていたのですが、例えば、メッセージボックスを表示するコードを
記述すると、まずメッセージボックスが表示され、OKボタンを押すとメイン
のウィンドウが表示されます。

これを最初にメインウィンドウ、次にメッセージボックスの順に表示したい
場合どの様にすればよいでしょうか。

現在は、OnCreateの中でタイマーを作成して、そのタイマーの中で希望する
処理を追加しています。

ほかに良い方法がありましたら教えて下さい。
宜しくお願い致します。


引用未解決
トピックタグ
Kelly
 Kelly
(@Kelly)
ゲスト
結合: 16年前
投稿: 13
 

メインウィンドウを表示している箇所はInitInstance()の中なので、
以下のようにメインウィンドウ表示直後に処理を追加してやれば
可能です。

BOOL CXXXApp::InitInstance()
{
...略...

m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();

// ↓追加
static_cast<CMainFrame*>(m_pMainWnd)->ShowMessageBox();

return TRUE;
}

void CMainFrame::ShowMessageBox()
{
AfxMessageBox(_T(メッセージ));
}


返信引用
kouki
 kouki
(@kouki)
ゲスト
結合: 14年前
投稿: 2
Topic starter  

Kellyさん 回答ありがとうございます。

教えていただいた方法で動作できました。
ありがとうございます。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました