OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

MDI起動時に空のウィンドウが開かないようにするには?

  • すぐに回答を!
  • 質問No.115764
  • 閲覧数342
  • ありがとう数2
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 83% (55/66)

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

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

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

質問者が選んだベストアンサー

  • 回答No.1
レベル8

ベストアンサー率 44% (11/25)

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;
お礼コメント
ystk

お礼率 83% (55/66)

ありがとうございます。
cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;
でうまくいきました。とても助かりました。
お盆休みでお礼が遅れてしまい申し訳ありませんでした。
m(_ _)m
投稿日時 - 2001-08-16 10:09:23
-PR-
-PR-
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ