MFC中的窗口角坐标
Posted
技术标签:
【中文标题】MFC中的窗口角坐标【英文标题】:Window Corner Coordinates in MFC 【发布时间】:2014-10-23 21:37:10 【问题描述】:所以,我正在尝试获取我的 MFC 窗口的 CORNERS 的 x-y 坐标...
这是我目前的绘图功能:
// TODO: add draw code for native data here
RECT rect;
GetClientRect(&rect);
// Get window coordinates
int left = rect.left;
int right = rect.right;
int bottom = rect.bottom;
int top = rect.top;
// Print them out
CString l;
l.Format(L"%d", left);
pDC->TextOutW(0, 100, L"Left: " + l, _tcslen(l)+6);
CString r;
r.Format(L"%d", right);
pDC->TextOutW(0, 130, L"Right: " + r, _tcslen(r)+7);
CString b;
b.Format(L"%d", bottom);
pDC->TextOutW(0, 160, L"Bottom: " + b, _tcslen(b)+8);
CString t;
t.Format(L"%d", top);
pDC->TextOutW(0, 190, L"Top: " + t, _tcslen(t)+5);
我是否朝着正确的方向前进? 我在想我可以找到两者的中点或沿着这些线的东西....
我还需要做什么?
另外:如何获取物理显示器角落的 x-y 坐标?
【问题讨论】:
【参考方案1】:使用GetWindowRect 函数代替GetClientRect 函数。
您还可以查看ScreenToClient 和ClientToScreen 函数。
【讨论】:
【参考方案2】:向“左:”添加内容无效。使用 Format 语句构建要显示的整个字符串,如果需要长度,请使用 CString::GetLength() 方法。 (有一个 TextOut 版本可以接受不带长度参数的 CString。)
【讨论】:
我并不担心,但谢谢。你能帮我找到窗口和屏幕的角落吗?以上是关于MFC中的窗口角坐标的主要内容,如果未能解决你的问题,请参考以下文章