文章目录
- 1. 单文档程序初始化显示设置
- 问题
- 解决方案
1. 单文档程序初始化显示设置
问题
在Microsoft Foundation Classes (MFC) 中,单文档应用程序(SDI)的初始化时默认并不设置为最大显示。但你可以通过编程方式在程序启动时将其设置为全屏或最大化。
出现地方:当view的父类采用CFormView时将会出现,随着主视图窗口的对话框的大小呈现主程序大小。
解决方案
可尝试以下几个途径解决:
- 在生成程序过程中勾选最大化;
- 在框架类中添加代码
在你的SDI应用程序中,通常会有一个继承自CFrameWnd或CMDIFrameWnd(对于具有菜单和工具栏的SDI)的框架类。你可以在这个类的OnCreate或OnInitialUpdate函数中添加代码来最大化窗口。
在CMainFrame的OnCreate函数中添加:
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
// 在这里添加最大化窗口的代码
ShowWindow(SW_MAXIMIZE);
return 0;
}
- 在视图类中处理
该视图类的基类是CFormView,,需要注释掉ResizeParentToFit()函数
void CEquipmentLayoutView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
//ResizeParentToFit();
ShowWindow(SW_MAXIMIZE);
}