• 締切済み

VC++でモードレスダイアログ

突然で申し訳ありません。 VC++でアプリケーションを作成しているのですが、 メインフレームからモードレスダイアログを表示するまではよかったのですが、モードレスダイアログボックスの裏に隠れたメインフレームをどうやっても表に表示できません。リソースファイルでの設定がいろいろあるようで、やってみたのですが、うまくいきません。 どなたか知っている方がいらっしゃいましたら、無知な私にご教授願えないでしょうか。 宜しくお願いいたします。 因みにダイアログのプロパティは 「タイトルバー」と「システムメニュー」をチェックしてあるだけです。。。。。 お願いします。

みんなの回答

  • takakohno
  • ベストアンサー率30% (12/40)
回答No.2

メインフレームが表に表示できないのではなく、作成したモードレスダイアログボックスがデフォルトで「最上位に表示」になっているのではないですか? Cdialogクラスを使っているなら、メインフレームのリソースをいじるのは間違っています。 CDialogならCreateIndirect()を使っていると思いますが、第一引数のlpDialogTemplateからWS_EX_TOPMOSTをはずします。 詳しくはWindows SDKのDLGEXTEMPLATE構造体を参照してください。(オンラインマニュアルは英語かもしれませんが)

noname#9414
noname#9414
回答No.1

クリックしたら、表に出すというやつですよね。 OnLButtonClickにMoveWindowでも追加して あげたらどうでしょう。 MFCなのかAPIなのかがないとこれ以上書くことは 難しいですよ。 ではでは☆

PSD
質問者

補足

説明不足ですいません。 アプリケーションはMFCです。 これ、実はやってみたのですが、 うまくいきませんでした。(やり方が悪いんだと思います。) でもこれ、ほかの用途にも使えそうですね。 ちょっと勉強になりました。 ありがとうございます。

関連するQ&A