关于GetWindowRect、GetClientRect和SetWindowPos、MoveWindow的简单问题

天凡星 2004-03-11 09:52:37
大家好,小弟对MFC的界面制作不太熟悉,连最简单的控件定位都不明白。
先发现如下问题:
1、我用GetWindowRect得到一个Static Text(静态文本提示框)的位置信息,得到的CRect结构是以这个控件的父亲窗体的用户区为基准的。
2、同样,我用GetWindowRect得到一个BUTTON(按钮)的位置信息,得到的CRect结构却是以整个屏幕为基准的。就是说:
CButtom* pMyBtn = NULL;
pMyBtn = (CButtom*)GetDlgItem(IDC_MY_BTN);
CRect Rect;
pMyBtn->GetWindowRect(&Rect);
pMyBtn->SetWindowPos(NULL, Rect.left, Rect.top, Rect.Width(), Rect.Height(), SWP_SHOWWINDOW);
结果,按钮会改变位置。
这是为什么呢???还请大家多多教教小弟!
...全文
416 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复

15,979

社区成员

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

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