複数起動した子ウィンドウのZ順を取得したい – プログラミング – Home

複数起動した子ウィンドウのZ順を取得し...
 
通知
すべてクリア

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


パルク
 パルク
(@パルク)
ゲスト
結合: 23年前
投稿: 1
Topic starter  

はじめて質問書き込みします。

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

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


引用解決済
トピックタグ
TAD
 TAD
(@TAD)
ゲスト
結合: 23年前
投稿: 54
 

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

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


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました