MDIの子ウィンドウをいくつか開いた場合に、子ウィンドウの重なり順を知る方法はあるでしょうか?
ActiveFormで一番上のフォームを得ることはできるのですが、逆に一番下にあるフォームを知りたいのです。Formsで列挙した場合の順番は重なり順ではなく、ロード順のようでした。
方法を知っている方がいらっしゃいましたらご教授願います。
GetWindow関数を使うのはどうでしょう?(Win32API-User32)
指定したWindowと指定した関係にあるWindowを獲得できる関数なんですけど、
GW_HWNDLASTを指定すれば最も低いZオーダーを持つ兄弟ウィンドウのハンドルが返るみたいです。
他にも、
GetNextWindow関数(一つ上、または下のウィンドウを獲得)
GetTopWindow関数(最前面のウィンドウを獲得)
というのがあります。
詳しくは、ヘルプのMSDNに載ってます。(フィルタ:プラットフォームSDK)
Y2さん、ありがとうございました。
GetWindow関数でできました。
ツイート | ![]() |