我需要找到控件的x和y坐标,但我不知道从哪里开始。我在互联网上找到的唯一解决方案是使用MFC,我想避免使用它。那么,有没有办法在不使用MFC的情况下找到控件的坐标?
使用FindWindow查找控件:
RECT cr;
HWND chWnd = FindWindow("SunAwtCanvas", NULL);
GetWindowRect(chWnd, &cr);
cw = cr.right;
ch = cr.bottom;
cx = cr.left;
cy = cr.top;
cout << chWnd << endl;
当它应该具有控件的hWnd时,chWnd为0。
答案 0 :(得分:0)
在控件的hwnd上使用GetWindowRect(每个控件都有自己的hwnd):http://msdn.microsoft.com/en-gb/library/windows/desktop/ms633519(v=vs.85).aspx。这将给你左,右,上,下,让你知道控件的边界,并计算出它的高度和宽度
答案 1 :(得分:0)
获取HWND的代码很糟糕。
来自MSDN:FindWindow
检索顶级窗口的句柄,该窗口的类名和窗口 name匹配指定的字符串。此功能不搜索孩子 视窗。此功能不执行区分大小写的搜索。
改为使用FindWindowEx。