質問: 突然で申し訳ありません。 VC++でアプリケーションを作成しているのですが、 メインフレームからモードレスダイアログを表示するまではよかったのですが、モードレスダイアログボックスの裏に隠れたメインフレームをどうやっても表に表示できません。リソースファイルでの設定がいろいろあるようで、やってみたのですが、うまくいきません。 どなたか知っている方がいらっしゃいましたら、無知な私にご教授願えないでしょうか。 宜しくお願いいたします。 因みにダイアログのプロパティは 「タイトルバー」と「システムメニュー」をチェックしてあるだけです。。。。。 お願いします。
回答: メインフレームが表に表示できないのではなく、作成したモードレスダイアログボックスがデフォルトで「最上位に表示」になっているのではないですか? Cdialogクラスを使っているなら、メインフレームのリソースをいじるのは間違っています。 CDialogならCreateIndirect()を使っていると思いますが、第一引数のlpDialogTemplateからWS_EX_TOPMOSTをはずします。 詳しくはWindows SDKのDLGEXTEMPLATE構造体を参照してください。(オンラインマニュアルは英語かもしれませんが)