プログラミングのメモ帳(C/C++/HSP)

日々のプログラミングで気づいた点や小技集を紹介します。(Windows 10/XP/Vista、VC2017、HSP)

Zオーダーのウインドウを取得

2007年09月27日 09時18分34秒 | ウインドウ関連

Zオーダーで指定された関係のウインドウ・ハンドルを取得するには GetWindow 関数を使います。
この関数を使うと次のような関係のウインドウを取得できます。(戻る)

  1. 親ウインドウの持つ最初の子ウインドウを取得(GW_CHILD定数)
  2. 同種のウインドウで最初のウインドウを取得(GW_HWNDFIRST定数)
  3. 同種のウインドウで最後のウインドウを取得(GW_HWNDLAST定数)
  4. 同種のウインドウで前のウインドウを取得(GW_HWNDPREV定数)
  5. 同種のウインドウで次のウインドウを取得(GW_HWNDNEXT定数)
  6. 指定ウインドウのオーナー・ウインドウを取得(GW_OWNER定数)
  7. 有効なポップアップのウインドウを取得(GW_ENABLEDPOPUP定数)

最初、前とはZオーダーで高い位置を意味し最後、次とは低い位置を意味します。
同種のウインドウとは、最前面ウインドウ、トップレベル・ウインドウ、または子ウインドウに対する兄弟ウインドウの事です。

プロトタイプ宣言

HWND GetWindow(
    HWND hWnd,      // 基準ウインドウのハンドル
    UINT uCmd       // Zオーダーの関係定数
);

使い方

// 親ウインドウに対する一番上の子ウインドウを取得
HWND hWnd = GetWindow( hParent, GW_CHILD );

// Zオーダーで一番上のウインドウを取得
HWND hWnd = GetWindow( hZOder, GW_HWNDFIRST );

// Zオーダーで一番下のウインドウを取得
HWND hWnd = GetWindow( hZOder, GW_HWNDLAST );

// Zオーダーで1つ上のウインドウを取得
HWND hWnd = GetWindow( hZOder, GW_HWNDPREV );

// Zオーダーで1つ下のウインドウを取得
HWND hWnd = GetWindow( hZOder, GW_HWNDNEXT );

// 指定ウインドウのオーナー・ウインドウを取得
HWND hWnd = GetWindow( hWindow, GW_OWNER );

// 指定ウインドウのポップアップ・ウインドウを取得
HWND hWnd = GetWindow( hWindow, GW_ENABLEDPOPUP );
  • GW_CHILD 定数で取得するウインドウは GetTopWindow 関数でも行えます。
  • GW_HWNDNEXTGW_HWNDPREV 定数で取得するウインドウは GetNextWindow 関数でも行えます。
  • GW_ENABLEDPOPUP 定数で取得するウインドウは有効なポップアップ・ウインドウがない場合には hWindow のウインドウ・ハンドルを返します。注意!

関連記事



コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 指定の子ウインドウの検索 | トップ | Zオーダーの前後ウインドウを... »
最新の画像もっと見る

コメントを投稿

ウインドウ関連」カテゴリの最新記事