我使用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