mfc多文档创建不一样的视图
时间: 2023-09-01 09:07:31 浏览: 86
在 MFC 多文档应用程序中创建不同的视图,可以通过以下步骤实现:
1. 在应用程序的文档类中添加一个标识符,用于区分不同的视图类型。例如,可以添加一个枚举类型来表示不同类型的视图。
2. 创建新的视图类,继承自 CView 类,并实现自己的绘图逻辑。
3. 在文档类中添加一个成员变量,用于保存当前的视图类型。
4. 在文档类的 OnCreate 函数中根据当前的视图类型创建不同类型的视图。可以使用 switch 语句来选择不同的视图类。例如:
```c++
CView* CMyDoc::CreateView( CRuntimeClass* pViewClass, CWnd* pParentWnd )
{
CView* pView = NULL;
switch( m_viewType )
{
case VIEW_TYPE_1:
pView = new CMyView1;
break;
case VIEW_TYPE_2:
pView = new CMyView2;
break;
// ...
}
return pView;
}
```
5. 在主窗口类的 OnCreate 函数中添加菜单项或工具栏按钮,用于切换不同的视图类型。当用户选择不同的菜单项或工具栏按钮时,更新文档类中的视图类型,并调用 AfxGetMainWnd()->SendMessage(WM_COMMAND, ID_FILE_NEW) 重新创建新的视图。
通过以上步骤,就可以在 MFC 多文档应用程序中创建不同类型的视图。
阅读全文