我使用MFC进行Visual Studio 2003.我有一个编号为IDC_COMMENT_EDIT
的编辑控件。 在下面的代码中,在我第一次拨打GetClientRect
后,我不希望rc
的值发生变化。MFC的GetClientRect和MoveWindow不保留大小?
CWnd* pWnd = GetDlgItem(IDC_COMMENT_EDIT);
if (pWnd != NULL)
{
RECT rc;
pWnd->GetClientRect(&rc);
pWnd->MoveWindow(&rc, TRUE);
pWnd->GetClientRect(&rc);
}
rc.top
和rc.left
是0
一路过关斩将,符合市场预期。 但是:
第一次致电GetClientRect
后,我得到rc.bottom == 52
和rc.right == 575
。
第二次调用GetClientRect
后,我得到rc.bottom == 48
,和rc.right == 571
。
没有人有任何想法是怎么回事?
谢谢,我想不通为什么我的文本框不断缩小! – des4maisons 2009-12-16 14:59:25
没问题,常见问题。这是命名一个既移动又调整MoveWindow大小的函数的问题! – 2009-12-16 15:38:39
一个更好的名字会像AdjustWindowRect – 2009-12-16 15:39:10