関係を持たないウィンドウ同士を綺麗にやりとりするには?


Riz.  2010-04-28 09:09:15  No: 71590  IP: [192.*.*.*]

昨日に続き質問させて頂きます

ウィンドウAとウィンドウBと複数のウィンドウを使っています
ウィンドウAとウィンドウBはそれぞれ独立した物で、WS_CHILD等は指定していません

1.AとBの二つ共、非アクティブになったらAかBを非表示にする
2.AとBのどちらかが非アクティブになったら、表示はしたままにする

等々、AとBの状態によって色々と処理を変えて行いたいのですが
現在WM_KILLFOCUS、WM_SETFOCUSのメッセージを見てそれらを判断させています
しかし、上の1番だけが成功するだけで、2番が上手くいきません

共に非アクティブになったかを調べるには、GetForegroundWindow等を使用して調べるしかないでしょうか?
どうぞご教授の程お願いします。

編集 削除
ryo  2010-04-28 12:13:40  No: 71591  IP: [192.*.*.*]

関係を作る

もっといえば、
状態を管理するための何か(隠蔽したメインウィンドウなど)を作り
個々のウィンドウは、その何かに対して自分の状況(変化)のみを送るようにする


>共に非アクティブになったかを調べるには、GetForegroundWindow等を使用して調べるしかないでしょうか?
>どうぞご教授の程お願いします。
この作業は、どこで行うつもりでしょうか?

編集 削除
仲澤@失業者  2010-05-10 11:33:17  No: 71592  IP: [192.*.*.*]

キーボードフォーカス(WM_SETFOCUS等)でなく、
WM_ACTIVATEがとれるなら、それでやってみてはどうでしょう。

編集 削除