基于MDI和CFormView框架的多视图开发实例

基于MDI和CFormView框架的多视图开发实例

ID:37738715

大小:34.00 KB

页数:7页

时间:2019-05-30

基于MDI和CFormView框架的多视图开发实例_第1页
基于MDI和CFormView框架的多视图开发实例_第2页
基于MDI和CFormView框架的多视图开发实例_第3页
基于MDI和CFormView框架的多视图开发实例_第4页
基于MDI和CFormView框架的多视图开发实例_第5页
资源描述:

《基于MDI和CFormView框架的多视图开发实例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于MDI和CFormView框架的多视图开发实例1.打开VC++6.0利用向导建立一个MFCAppWizard(exe)项目,取名MDIx.下一个页面选择MultipleDocuments(MDI),向导最后一个页面的View类的BaseClass选CformView类2.Resource管理器中选择向导默认生成的Dialog:IDD_MDIX_FORM,Ctrl+C然后Ctrl+V复制生成一个新得Dialog,ID设为IDD_SUB_FORM.3.Ctrl+W打开ClassWizard,为ID

2、D_SUB_FORM创建一个类CsubForm,BaseClass选CFormView.(向导默认为IDD_MDIX_FORM生成了CMDIxView类,基类也是CFormView)4.打开Resource管理器,打开Menu选择IDR_MAINFRAME,添加一个Pop-up子菜单,名字设为“窗口”,菜单项为IDM_WINDOW_SUB,名称为“Main窗口”,IDM_WINDOW_MAIN,名称为“Main窗口”5.选择IDM_WINDOW_SUB,Ctrl+W打开ClassWizard.在C

3、MainFrame类中为IDM_WINDOW_SUB和IDM_WINDOW_MAIN分别添加COMMAND和UPDATE_COMMAND_UI命令的消息响应函数:OnWindowSub(),OnUpdateWindowSub(CCmdUI*pCmdUI),OnWindowMain(),OnUpdateWindowMain(CCmdUI*pCmdUI)。6.在CmainFrame类中添加两个public指针变量:public:CChildFrame*m_subWindow;CChildFrame*m

4、_mainWindow;7.在CmainFrame的构造函数中把m_subWindow和m_mainWindow初始化为NULL;m_subWindow=NULL;m_mainWindow=NULL;8.在MainFrm.h中加入#include"ChildFrm.h"#include"MDIxDoc.h"#include"MDIxView.h"#include"SubForm.h"9.在OnWindowSub()中加入:if(m_subWindow!=NULL&&m_subWindow->Get

5、SafeHwnd()!=NULL){m_subWindow->MDIActivate();return;}else{CCreateContextcontext;context.m_pNewViewClass=RUNTIME_CLASS(CSubForm);m_subWindow=newCChildFrame();m_subWindow->LoadFrame(IDR_MAINFRAME,WS_MAXIMIZE

6、WS_OVERLAPPEDWINDOW,this,&context);m_subWindo

7、w->ShowWindow(SW_SHOWMAXIMIZED);////设置主窗口标题m_subWindow->GetParentFrame()->SetWindowText(“sub窗口”);m_subWindow->InitialUpdateFrame(NULL,true);return;}10.在OnWindowMain()中加入:i//TODO:Addyourcommandhandlercodehereif(m_mainWindow!=NULL){m_mainWindow->MDIActi

8、vate();return;}else{CCreateContextcontext;context.m_pNewViewClass=RUNTIME_CLASS(CMDIxView);m_mainWindow=newCChildFrame;m_mainWindow->LoadFrame(IDR_MAINFRAME,WS_OVERLAPPEDWINDOW

9、WS_MAXIMIZE,this,&context);m_mainWindow->ShowWindow(SW_SHOWMAXIMIZED);m_ma

10、inWindow->GetParentFrame()->SetWindowText("MainWindow");m_mainWindow->InitialUpdateFrame(NULL,true);}11.在OnUpdateWindowSub(CCmdUI*pCmdUI)中加入:if(GetActiveFrame()!=this){if(GetActiveFrame()->GetActiveView())if(GetActiveFrame()->GetActiveView()->

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。