ウィンドウを3秒間表示する

[戻る]
よしこ 2004/10/04(月) 14:37:02
お世話になっております。よしこです。

現在VC6.0 C++を用いて、
ウィンドウを表示するプログラムを作成しています。
ウィンドウは文字のみを表示し、3秒程度で自動的に閉じるものを考えています。

CreateWindow等を用いて実行してみたのですが、うまくいきません。
何か適した関数等、ご存知でしたらお教えいただけませんでしょうか??

ku 2004/10/04(月) 15:03:20
関数一つでというのはないと思います

VC6の場合でMFCを使うのであれば
「プロジェクト」−「プロジェクトへの追加」−「コンポーネントおよびコントロール」
「VisualC++Components」スプラッシュスクリーン
で選んでプロジェクトに挿入すればよい
プロジェクトによってうまくいかないのもあるかもしれないので
SDIやMDIなどテスト用のプロジェクトを作って確かめてみてください

検索文字として「スプラッシュウィンドウ」「スプラッシュスクリーン」などで検索すれば
簡単にソースなどを手に入れることもできると思います

dairygoods 2004/10/04(月) 15:04:58
CreateWindowでウィンドウを作成する。
WM_CREATEにてSetTimerでタイマーをセットする。
WM_TIMERにてDestroyWindowでウィンドウを破棄する。
といった流れになるでしょう。

PATIO 2004/10/04(月) 16:02:27
既に解答がついていますけれど、

うまくいきませんだけではなぁと感じました。
何処までうまく行っていてどこがうまく行かないのかを書くべきかと思います。
皆さん、表示はできていて自動で閉じる事ができていないのだろうと予想して
回答されていますけれど、よく読むとうまく行かないとしか書かれていないので
どうアドバイスした物かわからない内容になっていると思います。

その他に関しては既に書かれているようなので特に補足事項は無いですね。
MFCを使っていて単純にそうしたいだけならダイアログをモーダルで出して
OnInitDialogでタイマーを3秒で設定し、OnTimerでEndDialogでも事足りるかと。
モードレスで無いと困る理由があるならそこまで書いてほしいし、
色々と情報が足りない気がします。
因みにMFCは使っているんでしょうか?

よしこ 2004/10/04(月) 16:02:59
返信ありがとうございます。

>ku
スプラッシュスクリーンは、仕様と一致しないようなので
残念ながら使えません。

>dairygoods
ありがとうございます。
この方法でやってみたいと思います。

下記コードで実行していますが
どうしてもウィンドウが表示されません。
原因がわかるようでしたら御教授いただけませんでしょうか??

CreateWindow( 
    "button",                           // スタティックコントロールのクラス名
    "終了します。",                               // 表示する文字列
    BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE,
                                        // ウインドウスタイル
    0, 0,                               // 左上の座標
    500, 500,                    // 幅と高さ
    NULL,                            // 親ウインドウのウインドウハンドル
    NULL,                               // メニューハンドル。NULLでよい。
    hInstance,                          // アプリケーションのインスタンスハンド
ル。
    NULL                                // ウインドウ作成データ。NULLでよい

よしこ 2004/10/04(月) 16:22:02
>PATIO さん

ありがとうございます。

>MFCを使っていて単純にそうしたいだけならダイアログをモーダルで出して
>OnInitDialogでタイマーを3秒で設定し、OnTimerでEndDialogでも事足りるかと
この方法も興味深いので試してみたいと思います。

>モードレスで無いと困る理由があるならそこまで書いてほしいし、
外部からリモートでexeを開始しますが、
その時、開始ウィンドウと終了ウィンドウを対話式でない形で表示したいからです。

情報が足りなくて、すみません。

SunPac 2004/10/04(月) 16:26:49
親ウィンドウはNULLでいいのですか?
HWND_DESKTOP == NULLだったと思いますが、ボタンの場合はデスクトップには表示されな
いでしょう。
あと、HMENUは、ボタンのIDのはずですが・・・

よしこ 2004/10/04(月) 16:46:04
ありがとうございます。
解決しました!!
つたない質問で申し訳ありませんでした。

よしこ 2004/10/04(月) 16:47:29
[[解決]]
ありがとうございます。
解決しました!!
つたない質問で申し訳ありませんでした。

古いスレッドには追加発言できません。