タイトル用開始画面を一定時間表示させ、次の画面を呼び出すには?

解決


でみ  2006-11-28 01:36:52  No: 63717

タイトル用の開始画面を5秒間表示させ
次にメイン画面を表示させる処理を行いたいと思っています。
以下の処理だと開始画面が表示されず5秒後にメイン画面が表示されてしまいます。よい方法はないでしょうか
OnInitDialog() 
{
  CDialog::OnInitDialog();
  Sleep(5000);
  OnCancel();
  CDmiGazouKaisekiDlg myDL;
  myDL.DoModal();


Blue  2006-11-28 01:43:27  No: 63718

そういう処理は、ダイアログクラスに記述しないで、
CXXXAppクラスのInitiInstanceメソッド内に書くようにしましょう。

VC6なら
http://homepage2.nifty.com/DSS/VCPP/MFC/Window/WindowSprash.htm
のように簡単にスプラッシュウィンドウを表示できます。

このままのソースで
>CDmiGazouKaisekiDlg 
をそのまま使いたいのであれば、CDmiGazouKaisekiDlg にタイマーイベントを用意して、
5秒後に自分自身を閉じるような記述を入れればいいでしょう。
(もちろん、ダイアログを呼ぶのはCXXXApp::InitiInstanceメソッドで)

それと、レスがついているスレッドを放置することはやめましょう。


Blue  2006-11-28 01:49:37  No: 63719

CSplashWndって、MDIかSDIじゃないと挿入できないらしい。。。


Blue  2006-11-28 01:56:03  No: 63720

>CSplashWndって、MDIかSDIじゃないと挿入できないらしい。。。
普通にMicrosoftのサポートにあった。

ダイアログ ベースのVisual C++での MFC アプリケーションにスプラッシュ画面を追加する方法
http://support.microsoft.com/kb/190684/ja


でみ  2006-11-28 19:13:28  No: 63721

解決しました。
ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加