簡體   English   中英

Win32中的GetFirstChild?

[英]GetFirstChild in win32?

我使用EnumChildWindows從主HWND窗口獲取所有子窗口,但我只想獲取給定HWND窗口的第一個子窗口。

BOOL CALLBACK EnumChildProc ( HWND hwndChild, LPARAM lParam)
{
  // logic to call only once 
}

這是正確的嗎 ? 或任何其他簡單的方法?

英國〜

BOOL CALLBACK EnumChildProc ( HWND hwndChild, LPARAM lParam)
{
  // process first child window
  return FALSE;
}

或者, HWND top_child = GetWindow(thisWindow, GW_CHILD);

當然:

BOOL CALLBACK EnumChildProc ( HWND hwndChild, LPARAM lParam)
{
    /* do what you want with the first HWND */

    return FALSE; // stops enumeration.
}

有關完整的詳細信息,請參見MSDN ,但是相關的代碼行是這樣的:

返回值

BOOL

要繼續枚舉,回調函數必須返回TRUE 要停止枚舉,它必須返回FALSE

GetWindow (...,GW_CHILD)將為您提供位於z順序頂部的窗口,我認為這是您想要的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM