《框架窗口界面设计》PPT课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

6.1框架窗口
6.ห้องสมุดไป่ตู้.2窗口状态的改变
MFC AppWizard为每个窗口设置了相应的大小和位置。
运行程序时,会自动调用框架内部的WinMain函数,并自动查找该应用程序类 的全局变量theApp,然后自动调用用户应用程序类的虚函数InitInstance, 该函数会进一步调用相应的函数来完成主窗口的构造和显示工作,代码:
BOOL CEx_SDIApp::InitInstance()
{…
m_pMainWnd->ShowWindow(SW_SHOW);
// 显示窗口
m_pMainWnd->UpdateWindow();
// 更新窗口
return TRUE;
}
m_pMainWnd是主框架窗口指针变量,ShowWindow是CWnd类的成员函数,用来 按指定的参数显示窗口。
▪ 还有相应的Debug(调试)、Res(资源)等子文件夹。用应用程序向导创建项目时,系统自 动为项目创建Win32 Debug版本的运行程序,并使用相应的默认配置。程序编连后,用于
该项目的可执行文件以及其他调试的信息文件都安放在Debug文件夹中。
▪ 程序项目有一个Win32 Release版本,与Release的区别在于:Debug版本的运行程序有 相应的调试信息码,Release版本的运行程序没有,但Release版本的运行程序经过代码
6.1框架窗口
通过指定ShowWindow函数的参数值可以改变改变窗口显示状态。例如下面的 代码是将窗口的初始状态设置为“最小化”: BOOL CEx_SDIApp::InitInstance() { ...
m_pMainWnd->ShowWindow(SW_SHOWMINIMIZED); m_pMainWnd->UpdateWindow(); return TRUE; }
▪ 文档窗口对SDI程序来说,和主框架窗口是一致的,主框架窗口就是文档窗 口;对于MDI程序,文档窗口是主框架窗口的子窗口,如图。
▪ 文档窗口一般都有相应的可见边框,它的客户区(除了窗口标题栏、边框外 的区域)是由相应的视图来构成的,因此可以说视图是文档窗口内的子窗口 。文档窗口时刻跟踪当前处于活动状态的视图的变化,并将用户或系统产生 的消息传递给当前活动视图。
.opt
关于开发环境的参数文件,如工具条位置等信息
.aps(AppStudio File)
资源辅助文件,二进制格式
.clw
ClassWizard信息文件
.dsp(DeveloperStudio Project) 项目文件
.plg
编译信息文件
.mdp(Microsoft DevStudio Project)
6.1框架窗口
6.1.3窗口风格的设置
• 窗口风格 ▪ 通常有一般和扩展两种形式。可在函数CWnd::Create或CWnd::CreateEx参数
中指定,CreateEx函数可同时支持以上两种风格,CWnd::Create只能指定窗 口的一般风格。控件和对话框的窗口风格可直接通过其属性对话框来设置。 ▪ 除了上述风格外,框架窗口还有以下三个自己的风格。它们都可以在PreCrea teWindow重载函数的CREATESTRUCT结构中指定。 • FWS_ADDTOTITLE 该风格指定相关的信息如文档名添加到框架窗口标题的后面。 • FWS_PREFIXTITLE 该风格使得框架窗口标题中的文档名显示在应用程序名之前。 • FWS_SNAPTOBARS 该风格用来调整窗口的大小,使它刚好包含了框架窗口中的控制栏。
的优化,其程序的运行效率被最大提升。
▪ 选择“编译”“配置”菜单命令,在“配置”对话框将项目设置成Win32 Release版 本。
• 主框架窗口和文档窗6口.1框架窗口
▪ 主框架窗口是直接放置在桌面(DeskTop)上的那个窗口,每个应用程序只能 有一个主框架窗口。主框架窗口负责管理各个用户交互对象并根据用户操作 相应地创建或更新文档窗口及其视图。
旧版本的项目文件
.bsc
用于浏览项目信息
.map
执行文件的映像信息纪录文件
.pch(Pre-Compiled File)
预编译文件,可以加快编译速度,但是文件非常大
.pdb(Program Database)
记录程序有关的一些数据和调试信息
.ncb
无编译浏览文件(no compile browser)
6.1框架窗口
CChildFrame类是从CMDIChildWnd派生而来,专门用来管理多文档应用程序中 的文档窗口。无论是CMDIChildWnd还是CMDIFrameWnd类,它们都是从CFrameWn d派生而来的。 对于基于对话框的应用程序,一般有CAboutDlg类、应用程序类和对话框类。 上述MFC类之间的继承和派生关系如图6.2所示。
CObject
CWinTread
CCmdTarget
CDocument
CWinApp
CWnd
CView
CFrameWnd
CDialog及控件
CMDIFrameWnd
CMDIChildWnd
CMiniFrameWnd
图6.2 MFC类的基本层次结构
• 项目的文件组织
6.1框架窗口
项目中源文件都是采用文件夹的方式进行管理的,将项目名作为文件夹名,此文件夹下 包含源程序代码文件、项目文件以及项目工作区文件等。每一个类的源代码均保存同名 的h和cpp文件。其他一些文件类型的含义:
第6章框架窗口界面设计
6.1框架窗口 6.2菜单 6.3工具栏 6.4状态栏 6.5交互对象的动态更新 6.6图标和光标
6.1框架窗口
6.1.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派生的。
相关文档
最新文档