タイトル用の開始画面を5秒間表示させ
次にメイン画面を表示させる処理を行いたいと思っています。
以下の処理だと開始画面が表示されず5秒後にメイン画面が表示されてしまいます。よい方法はないでしょうか
OnInitDialog()
{
CDialog::OnInitDialog();
Sleep(5000);
OnCancel();
CDmiGazouKaisekiDlg myDL;
myDL.DoModal();
そういう処理は、ダイアログクラスに記述しないで、
CXXXAppクラスのInitiInstanceメソッド内に書くようにしましょう。
VC6なら
http://homepage2.nifty.com/DSS/VCPP/MFC/Window/WindowSprash.htm
のように簡単にスプラッシュウィンドウを表示できます。
このままのソースで
>CDmiGazouKaisekiDlg
をそのまま使いたいのであれば、CDmiGazouKaisekiDlg にタイマーイベントを用意して、
5秒後に自分自身を閉じるような記述を入れればいいでしょう。
(もちろん、ダイアログを呼ぶのはCXXXApp::InitiInstanceメソッドで)
それと、レスがついているスレッドを放置することはやめましょう。
CSplashWndって、MDIかSDIじゃないと挿入できないらしい。。。
編集 削除>CSplashWndって、MDIかSDIじゃないと挿入できないらしい。。。
普通にMicrosoftのサポートにあった。
ダイアログ ベースのVisual C++での MFC アプリケーションにスプラッシュ画面を追加する方法
http://support.microsoft.com/kb/190684/ja
解決しました。
ありがとうございました。