怎样将客户坐标的{0,0}转换成屏幕的物理坐标?

yangchaobj 2003-10-15 04:53:58
用GetClientRect得到的rect的 left 和 top 总是0。
然而,我想得到他们的物理坐标。

用下面的方法怎么不行:
HDC hdc;
POINT pt;

pt.x = 0;
pt.y = 0;

hdc = GetDC(hWnd);
LPtoDP(hdc, &pt, 1);//pt不变!!
ReleaseDC(hWnd, hdc);

求有效的转换方法
...全文
52 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Viconia 2003-10-15
  • 打赏
  • 举报
回复
// resize dialog to client's size
void CAboutDlg::OnButton1()
{
CRect myRect;
GetClientRect(&myRect);

ClientToScreen(myRect);
MoveWindow(myRect.left, myRect.top,
myRect.Width(), myRect.Height());
}
Detonator 2003-10-15
  • 打赏
  • 举报
回复
有两个函数用于屏幕坐标与客户坐标的转换
ScreenToClient
ClinetToScreen
你试一下吧

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧