关于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);
结果,按钮会改变位置。
这是为什么呢???还请大家多多教教小弟!