複数起動した子ウィンドウのZ順を取得したい

[戻る]
パルク 2002/03/13(水) 23:31:26
はじめて質問書き込みします。

親ウインドウから複数の子ウインドウを起動するタイプのアプリを作っています。
子ウインドウを複数起動している時、それらのウインドウのZ順(ウインドウの上下関係)を
親ウインドウで取得し、管理したいのです。
子ウインドウはすべてドキュメントビュー構造で作成されています。
MFCのGetWindow()を使用しても、うまくいきません。
親ウインドウでは、起動した子ウインドウのポインタを格納しています。
また、子ウインドウがmoveしたときにメッセージを受け取っています。

さて、どうしたらいいでしょうか?
よろしくお願いします。

TAD [E-Mail] 2002/03/14(木) 09:16:24
CWnd* pWnd = GetWindow(GW_CHILD) で、子ウィンドウのトップを取得し、pWnd->GetWindow
(GW_HWNDNEXT) で、順番に取得できるはずです。
子ウィンドウが CFrameWnd(またはその派生クラス)ならば、フレームが取得できますので、
ビューを取得したい場合は、GetActiveView を使います。

Z順の情報をを何に使用するのかは分かりませんが、子ウィンドウのポインタを保存しておくよ
りは、必要に応じて、GetWindow を実行するほうがいいと思います。ウィンドウの状態を同期
的に取得するのは面倒です。

古いスレッドには追加発言できません。