WindowFromPoint和ChildWindowFromPoint函数的使用
2014-09-12 11:12
274 查看
HWND WindowFromPoint(
POINT Point
);
功能:返回包含点的窗口句柄,Point参数指屏幕坐标。
如果不存在窗口包含这个点,则返回NULL。如果窗口无效或者隐藏,则返回NULL。
通过测试,发现获取部分控件句柄时,返回的都是父窗口的句柄。包括Static Text, GroupBox等等。
实例:
HWND ChildWindowFromPoint(
HWND hWndParent, //handle to parent window
POINT Point //the coordinates(relative to hWndParent) of the point to be checked
);
功能:返回包含这个点的窗口句柄,即使窗口隐藏或者处于无效状态。(需要指定某个容器窗体,返回该容器窗体中包含点的窗口句柄。)
如果点不在父窗口内,则返回NULL,如果点在父窗口内,但不在任何子窗口上,则返回父窗口的句柄。
另外,特别要注意的是:参数Point不是屏幕坐标,而是相对于容器窗口的坐标。
实例:
POINT Point
);
功能:返回包含点的窗口句柄,Point参数指屏幕坐标。
如果不存在窗口包含这个点,则返回NULL。如果窗口无效或者隐藏,则返回NULL。
通过测试,发现获取部分控件句柄时,返回的都是父窗口的句柄。包括Static Text, GroupBox等等。
实例:
1 void CTestDlg::OnTest() 2 {
3 POINT pt; 4 GetCursorPos(&pt);//获取坐标 5 6 HWND hHandle = ::WindowFromPoint(pt); 7 8 if (hHandle == m_hWnd) 9 { 10 MessageBox("OK"); 11 } 12 }
HWND ChildWindowFromPoint(
HWND hWndParent, //handle to parent window
POINT Point //the coordinates(relative to hWndParent) of the point to be checked
);
功能:返回包含这个点的窗口句柄,即使窗口隐藏或者处于无效状态。(需要指定某个容器窗体,返回该容器窗体中包含点的窗口句柄。)
如果点不在父窗口内,则返回NULL,如果点在父窗口内,但不在任何子窗口上,则返回父窗口的句柄。
另外,特别要注意的是:参数Point不是屏幕坐标,而是相对于容器窗口的坐标。
实例:
1 void CTestDlg::OnOK() 2 { 3 POINT pt; 4 GetCursorPos(&pt); 5 6 BOOL bOK = ::ScreenToClient(m_hWnd, &pt); 7 if (!bOK) 8 { 9 return; 10 } 11 12 HWND hHandle = ::ChildWindowFromPoint(m_hWnd, pt); 13 if (hHandle == m_button.m_hWnd) 14 { 15 MessageBox("OK"); 16 } 17 }
相关文章推荐
- ctypes中使用WindowFromPoint
- GetCursorPos/WindowFromPoint/SendMessage (用API函数向Edit框发送字符)(转)
- WinAPI: WindowFromPoint- 获取指定点所在窗口的句柄
- WindowFromPoint -- 获得包含指定点的窗口的句柄
- 寻找包含一个点的最小窗口:WindowFromPoint
- QQ截图时窗口自动识别的原理(WindowFromPoint, ChildWindowFromPoint, ChildWindowFromPointEx,RealChildWindowFromPoint)
- GetCursorPos/WindowFromPoint/SendMessage (用API函数向Edit框发送字符)
- <from>表单失效 和 window.location.reload(); 共同使用
- 一个有意思的API——WindowFromPoint
- 易语言-API 取窗口或者组件句柄的 屏幕坐标并限制区域 GetWindowRect ClipCursor getwindowrect GetClientRect WindowFromPoint
- WindowFromPoint -- 获得包括指定点的窗体的句柄
- WindowFromPoint
- WindowFromPoint
- WinAPI: WindowFromPoint- 获取指定点所在窗口的句柄
- WindowFromPoint()与ChildWindowFromPoint()的区别
- Get the window data(lamda,flux, true) from a center point and the window width
- WindowFromPoint和GetCursorPos
- MyWindowFromPoint,跳过GROUPBOX
- GetPixel GetRValue WM_GETTEXT WindowFromPoint ::GetClassName(WinHwnd,strClassName,255);
- GetCursorPos/WindowFromPoint/SendMessage