• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:モードレスダイアログを作成しようと思ったら....。)

モードレスダイアログを作成しようと思ったら....。

このQ&Aのポイント
  • Win2000pro, VC++6.0sp6, MFC, ダイアログベースにてモードレスのダイアログ表示を行おうと思った。
  • ダイアログクラスを作成し、基本となるクラスにメンバ変数を宣言したが、コンパイルエラーが発生。
  • ダイアログクラスの作り方が間違っている可能性がある。

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

  • ベストアンサー
  • Soli
  • ベストアンサー率11% (7/61)
回答No.1

CTestDlgのヘッダファイルでクラスの宣言前に class CModelessDlg; という一文をつけ、 CTestDlgのcppファイルでCModelessDlgのヘッダファイルをインクルードしてあげれば コンパイルがとおると思われます。 以下のような感じですね。 ---- TestDlg.h ----------------------------------- class CModelessDlg; class CTestDlg { CModelessDlg* pDlg; }; ---- TestDlg.cpp --------------------------------- #include<ModelessDlg.h> 以下略

tamajun
質問者

お礼

ありがとうございました。なるほどです。 無事に出来ました。申し訳ないのですが、もう一つ 質問があります。CTestDlgと同じモードレスダイアログを 起動時に作成するってのは可能でしょうか? 何かメッセージが送られた時ではなく起動じにやりたい です。 イメージとしては、横に同じダイアログが並んで起動され る感じです。実行ファイル二つ作って片方からShellExecute()等で起動させてあげれば簡単なんでしょう が...。よろしくお願いいたします。

その他の回答 (1)

  • Soli
  • ベストアンサー率11% (7/61)
回答No.2

No1です。 ダイアログベースのプロジェクトで CTestDlgを2個同時に作りたいならば プロジェクトを立ち上げると生成される、 CWinAppの派生クラスのInitInstance()内を工夫してあげると 実現できるでしょうけど、いい方法ではないと思います。この辺は私にもわかりません。