假设有一个dialog类CMydialog,在一个view上显示这个对话框,然后让对话框的大小自适应view的大小,铺满view的窗口。可以这么做:
在CMyDialog里添加映射函数OnSize(),实现过程如下:
void CTopControlDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
CTopControlView *pView = (CTopControlView*)GetParent(); /*获取父窗体view的大小*/
CRect parentRect;
pView->GetClientRect(&parentRect);
ScreenToClient(parentRect);
this->MoveWindow(parentRect); /*让对话框铺满view*/
}