MDI子ウィンドウの重なり順を得るには?

解決


sato  2003-03-18 06:02:17  No: 77392

MDIの子ウィンドウをいくつか開いた場合に、子ウィンドウの重なり順を知る方法はあるでしょうか?
ActiveFormで一番上のフォームを得ることはできるのですが、逆に一番下にあるフォームを知りたいのです。Formsで列挙した場合の順番は重なり順ではなく、ロード順のようでした。
方法を知っている方がいらっしゃいましたらご教授願います。


Y2  2003-03-19 08:58:08  No: 77393

GetWindow関数を使うのはどうでしょう?(Win32API-User32)
指定したWindowと指定した関係にあるWindowを獲得できる関数なんですけど、
GW_HWNDLASTを指定すれば最も低いZオーダーを持つ兄弟ウィンドウのハンドルが返るみたいです。

他にも、
GetNextWindow関数(一つ上、または下のウィンドウを獲得)
GetTopWindow関数(最前面のウィンドウを獲得)
というのがあります。

詳しくは、ヘルプのMSDNに載ってます。(フィルタ:プラットフォームSDK)


sato  2003-03-20 01:25:33  No: 77394

Y2さん、ありがとうございました。
GetWindow関数でできました。


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

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






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