電子書籍の厳選無料作品が豊富!

VC++6+WinXPにてプログラミングしています

CWinAppのInitInstance()にて下記コードを実行しファイルの関連付け起動を行っています。
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
しかし、起動時にはアプリが制御する機械の状態によって、機械の初期化メッセージを表示する必要があるため、同InitInstance()内でAfxMessageBox()によってメッセージを表示させていますが、メッセージが表示される場合は、ファイルが開きません。

メッセージを出すタイミング等についてアドバイスいただけるようでしたら、お願いいたします。

A 回答 (1件)

質問の意味がいまいちわかりません。


ですが、一般にInitInstance()内ではアプリケーション
とウインドウがまだ、初期化途中ですので。MFCのメンバ、
関数の内のいくつかは使用できないか機能しません。
従って

1.親をデスクトップにしてMessageBox()を使う。
2.m_hWndが確定するOnCreate()以降でAfxMessageBox()する。

の、どちらかにしてみてはどうでしょう。

この回答への補足

分かりにくい質問に回答いただきありがとうございます。

CDocument::OnOpenDocument()が実行される前に、メッセージ等を表示してしまうと、OnOpenDocumentが実行されないみたいなのです。

OnOpenDocument()内で、ファイル読み出し等の処理が終わった後に、メッセージを表示すべきなのでしょうか。
その場合でも、OnOpenDocument()が実行されない条件があるみたいなのですが...

補足日時:2008/08/12 17:49
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!