初歩的な質問で恐縮なのですが、

MDIアプリケーションで起動時に空のウィンドウが開かないようにするにはどうすればよいのでしょうか?

目的
MDIで作ったデータ入力ソフトがありまして、それを閲覧専用に改造したいのです。
つまり、既存のファイルを開くだけでいいのに最初に空ファイルのウインドウが立ち上がるのがウザイということです。
もとのプロジェクトはVC++5.0で作られており(作成者がいなくなってしまった)、今はVC++6.0にコンバートして編集しています。

A 回答 (1件)

MFCで作ったものであれば、CxxApp::InitInstance()のProcessShellCommand()を呼んでる直前で


cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;
を入れてやれば起動時にドキュメントが新規作成されなくなります。
詳しくはCCommandLineInfoクラスのヘルプを参照してください。

Win32APIで作られたものだったらわかりませんが、子ウィンドウが作られる所でブレークを張ってコールスタックを見ればある程度追えるんじゃないでしょうか。


例)
// DDE、file open など標準のシェル コマンドのコマンドラインを解析します。
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);

cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;
// コマンドラインでディスパッチ コマンドを指定します。
if (!ProcessShellCommand(cmdInfo))
return FALSE;
    • good
    • 0
この回答へのお礼

ありがとうございます。
cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;
でうまくいきました。とても助かりました。
お盆休みでお礼が遅れてしまい申し訳ありませんでした。
m(_ _)m

お礼日時:2001/08/16 10:09

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


人気Q&Aランキング