子ウィンドウをアクティブにするには?

解決


ハルボン  2006-05-01 19:33:40  No: 61596  IP: 192.*.*.*

現在、ゲームで使用するエフェクトを作成するツールを作成しています。
開発環境は以下のとおりです。

  OS:XP
  開発ツール:VisualStudio.net  C++


  メインウィンドウの中にスクリーン用としてのウィンドウと
ツールバーとステータスバーを子ウィンドウとして作成しています。

  そのスクリーン用のウィンドウの子ウィンドウとして
エフェクト確認用のウィンドウと画像読み込み用のウィンドウを作成しています。
エフェクト用ウィンドウ、画像読み込み用ウィンドウ、共に
ボタンやスクリーン用のウィンドウを子ウィンドウとして持っているのですが
タイトルバーやウィンドウの枠をクリックすると
そのウィンドウがアクティブになり、前面に来るのですが
中のボタンやスクリーンウィンドをクリックしても前面に来ないんです。

  エフェクト用ウィンドウと画像読み込み用ウィンドウが
重なっていて後ろに行っているウィンドを前にしたい時は、どうすれば良いのでしょうか?


  かなりややこしい作りで分かりにくいと思いますが
お答えいただけると助かります。
よろしくお願いします。

編集 削除
subaru  2006-05-01 23:17:26  No: 61597  IP: 192.*.*.*

>重なっていて後ろに行っているウィンドを前にしたい時は、どうすれば良いのでしょうか?
BringWindowToTopを試してみてください。

編集 削除
ハルボン  2006-05-02 10:10:38  No: 61598  IP: 192.*.*.*

subaruさん、ありがとうございます。
BringWindowToTopを使用してみたところ、ちゃんと前に来ました。
すべての子ウィンドウのWM_LBUTTONDOWNとWM_RBUTTONDOWNで
この命令を呼ぶようにしました。

編集 削除