MFC中Cformview 中的dialog如何初始化成和视图一样大小
时间: 2024-03-26 17:37:31 浏览: 76
在 MFC 中,CFormView 的 dialog 可以通过以下几个步骤初始化成和视图一样大小:
1. 在 CFormView 的 OnInitialUpdate 函数中获取该视图的尺寸,可以通过 GetClientRect 函数来获取。
2. 在 OnInitDialog 函数中设置对话框的尺寸为视图的尺寸。可以使用 SetWindowPos 函数来实现。
下面是代码示例:
```
void CMyFormView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
// 获取视图的尺寸
CRect rect;
GetClientRect(rect);
// 将对话框的尺寸设置为视图的尺寸
CWnd* pWnd = GetDlgItem(AFX_IDC_FORMVIEW);
if (pWnd != NULL)
{
pWnd->SetWindowPos(NULL, 0, 0, rect.Width(), rect.Height(), SWP_NOZORDER | SWP_NOMOVE);
}
}
BOOL CMyFormView::OnInitDialog()
{
CFormView::OnInitDialog();
// 将对话框样式设置为无边框
ModifyStyleEx(WS_EX_DLGMODALFRAME, 0, SWP_FRAMECHANGED);
return TRUE;
}
```
需要注意的是,在 OnInitDialog 函数中,还需要将对话框的样式设置为无边框,以免出现窗口边框的重叠。
阅读全文