ChildWindowFromPointEx

[Now Supported on Windows NT]

The ChildWindowFromPointEx function determines which, if any, of the child windows belonging to the specified parent window contains the specified point. The function can ignore invisible, disabled, and transparent child windows.

HWND ChildWindowFromPointEx(

HWND hwndParent, // handle to parent window
POINT pt, // structure with point coordinates
UINT uFlags // skipping flags
);  

Parameters

hwndParent

Identifies the parent window.

pt

Specifies a POINT structure that defines the client coordinates of the point to be checked.

uFlags

Specifies which child windows to skip. This parameter can be a combination of the following values:

Value Meaning
CWP_ALL Do not skip any child windows
CWP_SKIPINVISIBLE Skip invisible child windows
CWP_SKIPDISABLED Skip disabled child windows
CWP_SKIPTRANSPARENT Skip transparent child windows

Return Values

If the function succeeds, the return value is the handle to the first child window that contains the point and meets the criteria specified by uFlags. If the point is within the parent window but not within any child window that meets the criteria, the return value is the handle to the parent window. If the point lies outside the parent window or if the function fails, the return value is NULL.

Remarks

Windows maintains an internal list that contains the handles of the child windows associated with a parent window. The order of the handles in the list depends on the Z order of the child windows. If more than one child window contains the specified point, Windows returns the handle of the first window in the list that contains the point and meets the criteria specified by uFlags.

See Also

ChildWindowFromPoint, POINT, WindowFromPoint