1 / 58
文档名称:

MFC框架窗口界面设计教学材料.ppt

格式:ppt   大小:785KB   页数:58页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

MFC框架窗口界面设计教学材料.ppt

上传人:68843242 2022/1/19 文件大小:785 KB

下载得到文件列表

MFC框架窗口界面设计教学材料.ppt

文档介绍

文档介绍:MFC框架窗口界面设计
1框架窗口
2菜单
3工具栏
4状态栏
5交互对象的动态更新
6图标和光标
1框架窗口

文档应用程序的MFC类结构
如图是单文档应用程序MFC框架窗口界面设计
1框架窗口
2菜单
3工具栏
4状态栏
5交互对象的动态更新
6图标和光标
1框架窗口

文档应用程序的MFC类结构
如图是单文档应用程序Ex_SDI和多文档应用程序Ex_MDI的MFC类结构。
CAboutDlg是每一个应用程序框架都有的,用来显示本程序的有关信息。
CEx_SDIApp和CEx_MDIApp是应用程序类,是从CWinApp类派生而来,负责应用程序创建、运行和终止,每一个应用程序都需要这样的类。
CEx_SDIDoc和CEx_MDIDoc是文档类,它们是从CDocument类派生而来,负责应用程序文档数据管理。
CEx_SDIView和CEx_MDIView是视图类,它们既可以从基类CView派生,也可以从CView派生类派生,负责数据的显示、绘制和其他用户交互。
CMainFrame类是用来负责主框架窗口的显示和管理,包括工具栏和状态栏等界面元素的初始化。对于单文档应用程序来说,主框架窗口类是从CFrameWnd派生而来的,而对于多文档应用程序程序,主框架窗口是从CMDIFrameWnd派生的。
1框架窗口
CChildFrame类是从CMDIChildWnd派生而来,专门用来管理多文档应用程序中的文档窗口。无论是CMDIChildWnd还是CMDIFrameWnd类,它们都是从CFrameWnd派生而来的。
对于基于对话框的应用程序,一般有CAboutDlg类、应用程序类和对话框类。
上述MFC类之间的继承和派生关系如图2所示。
1框架窗口
主框架窗口和文档窗口
主框架窗口是直接放置在桌面(DeskTop)上的那个窗口,每个应用程序只能有一个主框架窗口。主框架窗口负责管理各个用户交互对象并根据用户操作相应地创建或更新文档窗口及其视图。
文档窗口对SDI程序来说,和主框架窗口是一致的,主框架窗口就是文档窗口;对于MDI程序,文档窗口是主框架窗口的子窗口,如图。
文档窗口一般都有相应的可见边框,它的客户区(除了窗口标题栏、边框外的区域)是由相应的视图来构成的,因此可以说视图是文档窗口内的子窗口。文档窗口时刻跟踪当前处于活动状态的视图的变化,并将用户或系统产生的消息传递给当前活动视图。
1框架窗口

MFC AppWizard为每个窗口设置了相应的大小和位置。
运行程序时,会自动调用框架内部的WinMain函数,并自动查找该应用程序类的全局变量theApp,然后自动调用用户应用程序类的虚函数InitInstance,该函数会进一步调用相应的函数来完成主窗口的构造和显示工作,代码:
BOOL CEx_SDIApp::InitInstance()
{ …
m_pMainWnd->ShowWindow(SW_SHOW); // 显示窗口
m_pMainWnd->UpdateWindow(); // 更新窗口
return TRUE;
}
m_pMainWnd是主框架窗口指针变量,ShowWindow是CWnd类的成员函数,用来按指定的参数显示窗口。
1框架窗口
通过指定ShowWindow函数的参数值可以改变改变窗口显示状态。例如下面的代码是将窗口的初始状态设置为“最小化”:
BOOL CEx_SDIApp::InitInstance()
{ ...
m_pMainWnd->ShowWindow(SW_SHOWMINIMIZED);
m_pMainWnd->UpdateWindow();
return TRUE;
}
1框架窗口

窗口风格
通常有一般和扩展两种形式。可在函数CWnd::Create或CWnd::CreateEx参数中指定,CreateEx函数可同时支持以上两种风格,CWnd::Create只能指定窗口的一般风格。控件和对话框的窗口风格可直接通过其属性对话框来设置。
除了上述风格外,框架窗口还有以下三个自己的风格。它们都可以在PreCreateWindow重载函数的CREATESTRUCT结构中指定。
FWS_ADDTOTITLE
该风格指定相关的信息如文档名添加到框架窗口标题的后面。
FWS_PREFIXTITLE
该风格使得框架窗口标题中