起動画面を表示する方法について – プログラミング – Home

起動画面を表示する方法について
 
通知
すべてクリア

起動画面を表示する方法について


けん
 けん
(@けん)
ゲスト
結合: 25年前
投稿: 40
Topic starter  

VC初心者なので詳しい方ぜひ教えてください。

ダイアログベースのアプリの起動時に
起動画面(スプラッシュスクリーンなど)を表示させることは
できるのでしょうか。
実装方法がわかる方がいましたら返事をよろしくお願いします。


引用解決済
トピックタグ
TAD
 TAD
(@TAD)
ゲスト
結合: 23年前
投稿: 54
 

MFC の SDI や MDI アプリケーションに、
コンポーネントおよびコントロールギャラリから追加する方法を
知っていると仮定して書きます。

まず、ダイアログベースのアプリとは別に、
SDI のプロジェクトを作成し、上記の方法でスプラッシュスクリーンを追加します。

次に、追加した CSplushWnd を含む ソースファイルとヘッダファイルを
ダイアログベースのアプリにコピーし、プロジェクトに追加します。

そして、既存のソースへ次のコードを追加します。

CxxxApp のソースと、CxxxDlg のソースに、
#include <Splash.h>
を追加。

CxxxApp::InitInstance の先頭へ
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
CSplashWnd::EnableSplashScreen(cmdInfo.m_bShowSplash);
を追加。

CxxxApp に仮想関数 PreTranslateMessage を追加後、その中に、
if (CSplashWnd::PreTranslateAppMessage(pMsg))
return TRUE;
を追加。

CxxxDlg::OnInitDialog(または OnCreate)に
CSplashWnd::ShowSplashScreen(this);
を追加。

さらに、スプラッシュスクリーン用のビットマップを
IDB_SPLASH として、リソースに追加しておく必要があります。

以上の追加は、SDI にスプラッシュスクリーンを追加した際、
自動的に追加されるコードをそのままコピーしただけですので、
そちらを参考にすればすぐに分かります。


返信引用
けん
 けん
(@けん)
ゲスト
結合: 25年前
投稿: 40
Topic starter  

丁寧に教えていただきましてありがとうございました。

起動画面を表示させることができましたが
もう一つ質問があります。

現状では、スプラッシュスクリーンのサイズが小さい場合に
スプラッシュスクリーンの下からダイアログが見えてしまいます。
スプラッシュスクリーンが消えてから
ダイアログを表示させることはできるのでしょうか?


返信引用
TAD
 TAD
(@TAD)
ゲスト
結合: 23年前
投稿: 54
 

単純な方法ですが、
CSplashWnd::ShowSplashScreen(this);
で、スプラッシュウィンドウを表示した直後に、
::Sleep(1000);
などとして、処理を停止する方法があります。
この場合、CSplashWnd のタイマー処理は不要になりますので、
削除することができます。


返信引用
とり
 とり
(@とり)
ゲスト
結合: 22年前
投稿: 23
 

 便乗で質問させていただきます。はじめに質問された、けん様お許しください。(^^;
VisualStudio.NETでもスプラッシュ画面を使用したいと思い、VisualStudio6.0まで
の方法と同じような方法で追加しようとしたところ、プロジェクトメニューから追加す
ることができませんでした。
 なんと項目が見あたらないのです。MDI、SDI、ダイアログベースと一通り調べ、他の
メニューもいろいろと探し、念のためヘルプも当たってみたのですが、どうも見つける
ことができませんでした。
 VisualStudio.NETでは名称が変わってしまったのでしょうか? それともサポート
がうち切られてしまったのか…。試した環境は以下の通りです。何か情報をご存じの方
がいらっしゃいましたら、よろしくおねがいします。

VisualStudio.NET EnterpriseArchitect(?)
Windows2000(SP3)


返信引用
TAD
 TAD
(@TAD)
ゲスト
結合: 23年前
投稿: 54
 

Google で検索したら良いものが見つかりました。

http://www.codejock.com/developer/article04.htm

ダイアログにスプラッシュスクリーンを表示するサンプルです。

CSplashWnd クラスが同梱されているようなので、
VisualStudio.NET にないようなら、
こちらを参考にしてみてはどうでしょうか?


返信引用
とり
 とり
(@とり)
ゲスト
結合: 22年前
投稿: 23
 

TAD様、それから最初の質問者のけん様、割り込みで質問を入れたとりです。

> CSplashWnd クラスが同梱されているようなので、
> VisualStudio.NET にないようなら、
> こちらを参考にしてみてはどうでしょうか?

 ありがとうございます。早速参考にさせていただきます。(^^)
個人的には「解決チェック」を入れてみたい衝動に駆られるのですが、そこ
まではやめておきます。(^^;;;


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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