親ウィンドウから上げたダイアログのさらにそこから上げたダイアログを最前面にもってくるには?


あつし  2003-10-21 20:31:02  No: 52320

VC++のMFCで開発をしています。
かなり初心者なので苦労してます。
質問なのですが、

親ウィンドウから上げたダイアログのさらに、
そこから上げたダイアログを最前面にもってこようとしているのですが、
うまくいきません。
状況としては

  親  →  ダイアログ1  →  ダイアログ2
  
  親ウィンドウはから、
  CDialog1クラスをCreateして(モードレス)
  そのCDialog1クラスから、
  CDialog2クラスをCreateしています。
    ※Createの引数は([リソースのID], NULL)となってます。

  CDialog1クラスのリソースはタイトルバー(ウィンドウズの下のバーに表示)を持ちません。
  CDialog2クラスのリソースはタイトルバー(ウィンドウズの下のバーに表示)を持ってます。

  CDialog1の関数からCDialog2をBringWindowTop()しても、CDialog1が他アプリケーションウィンドウの下にあると、最前面に出てくれないです。
  しかし、CDialog1が最前面またはVisibleがFALSE(隠れている)のときは、最前面にきます・・・。

間抜けな質問だったら、すみません。
どなたか教えていただけないでしょうか・・。


ゆげ  2003-10-22 06:52:56  No: 52321

上げたって何?そんなVC用語初めて聞いたよ
CDialog2でSetWindowPosを使うわけにはいかないの??


あつし  2003-10-22 18:36:46  No: 52322

レスありがとうございます。
上げるっておかしいですか?正解は『表示する』ですね。
すみません。

CDialog2のOnSetFocusのプロシージャで
SetWindowPosを使えばいいのですか?


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加