visual c++第06章 框架窗口、文档和视图

visual c++第06章 框架窗口、文档和视图

ID:10019249

大小:783.50 KB

页数:80页

时间:2018-05-21

visual c++第06章 框架窗口、文档和视图_第1页
visual c++第06章 框架窗口、文档和视图_第2页
visual c++第06章 框架窗口、文档和视图_第3页
visual c++第06章 框架窗口、文档和视图_第4页
visual c++第06章 框架窗口、文档和视图_第5页
资源描述:

《visual c++第06章 框架窗口、文档和视图》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第6章框架窗口、文档和视图尽管窗口、文档和视图是MFC的基础,但可能也是最不容易理解的部分,因为其概念比传统编程所需要的Windows函数更强一些,因此,须在本章做进一步详细讨论框架窗口、文档和视图的方法和技巧。6.1框架窗口分两类:一是应用程序主窗口,另一类是文档窗口。6.1.1主窗口和文档窗口主窗口(或称主框架窗口)是应用程序直接放在桌面(DeskTop)上的那个窗口,每个应用程序只能有一个窗口,主窗口的标题栏上往往显示应用程序的名称。主窗口类的源文件名是MainFrm.h和MainFrm.cpp,其类名是CMainFr

2、ame。单文档SDI程序主窗口类是从CFrameWnd派生来的。多文档MDI程序主窗口类是从CMDIFrameWnd派生的。如果应用程序中还有工具栏(CToolBar)状态栏(CStatusBar),那么在CMainFrame类还含有表示工具栏和状态栏的成员变量m_wndToolBar和m_wndStatusBar,并在CMainFrame的OnCreate函数中进行初始化。文档窗口对于SDI程序来说,它和主窗口是一致的,即主窗口就是文档窗口;对于MDI程序,文档窗口是主窗口的子窗口。见书244页图6.1所示。文档窗口一般都

3、有相应的可见边框,他的客户区(初了窗口标题栏、边框外的区域)是由相应的视图来构成的,可以说视图是文档窗口内的子窗口。文档窗口时刻跟踪当前处于活动状态的视图的变化,并将用户或系统产生的命令消息传递给当前活动视图。而主窗口负责管理各个用户交互对象(包括菜单、工具栏、状态栏以及加速键)并根据用户操作相应地创建或更新文档窗口及其视图。在MDI应用程序中,MFCAppWizard创建的文档子窗口类的源代码文件是ChildFrm.h和ChildFrm.cpp,其类名是CChildFrame,它是从CMDIChildWnd派生的。6.1.

4、2窗口风格的设置窗口的风格决定了窗口的外观及功能,用户通过风格的设置增加或减少窗口中所包含的功能,这些功能一般都是由系统内部定义的,不需要用户去编程实现。窗口风格可以通过MFCAppWizard来设置,也可以在主窗口或文档窗口类的PreCreateWindow函数中修改CREATESTRUCT结构,或是可以调用CWnd类的成员函数ModifyStyle和ModifyStyleEx来更改。1、窗口风格通常以WS_为前缀和扩展以WS_EX_为前缀两种形式;这两种形式的窗口风格可在函数CWnd::Create(只能指定窗口的一般风

5、格)或CWnd::CreateEx(可同时支持以上两种风格),对于控件和对话框这样的窗口来说,它们的窗口风格可直接通过其属性对话框来设置。常见的一般窗口风格如下所示:(书245页表6.1)WS_BORDER窗口含有边框WS_CAPTION窗口含有标题栏(它意味着还具有WS_BORDER风格)但它不能和WS_DLGFRAME组合WS_CHILD创建子窗口,它不能和WS_POPUP组合WS_CLIPCHILDREN在父窗口范围内裁剪子窗口,它通常在父窗口创建时指定WS_CLIPSIBLINGS裁剪相邻子窗口,也就是说,具有此风格

6、的子窗口和其他子窗口重叠的部分被裁剪,它只和WS_CHILD组合WS_DISABLED窗口最初时是禁用的WS_DLGFRAME窗口含有双边框,但没有标题WS_GROUP此风格被控件组中第1个控件窗口指定。用户可在控件组的第1个和最后1个控件中用方向键来选择WS_HSCROLL窗口最初时处于最大化WS_MAXIMIZEBOX在窗口的标题栏上含有”最大化”按钮WS_MINIMIZE窗口最初处于最小化,他只和WS_OVERLAPPED组和WS_MINIMIZEBOX在窗口的标题栏上含有”最小化”按钮WS_OVERLAPPED创建覆

7、盖窗口,一个覆盖窗口通常有一个标题和边框WS_OVERLAPPEDWINDOW创建一含有WS_OVERLAPPED、WS_CAPTION、WS_SYSMENU、WS_THICKFRAME、WS_MINIMIZEBOX和WS_MAXIMIZEBOX风格的覆盖窗口WS_POPUP创建一弹出窗口,它不能和WS_CHILD组合,只能用CreateWx函数指定WS_POPUPWINDOW创建一含有WS_BORDER、WS_POPUP和WS_SYSMENU风格的弹出窗口。当WS_CAPTION和WS_POPUPWINDOW风格组合时才能

8、使系统菜单可见。WS_SYSMENU窗口的标题栏上含有系统菜单框,它仅用于含有标题的窗口WS_TABSTOP用户可以用于TAB键选择控件组中的下一个控件WS_THICKFRAME窗口含有边框,并可调整窗口的大小WS_VISIBLE窗口最初是可见的WS_VSCROLL窗口含有垂直滚动条除了这

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

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

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