visualc++ 框架窗口、和视图详解.doc

  1. 1、本文档共83页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
visualc框架窗口、和视图详解

VC++框架窗口、文档和视图 尽管窗口、文档和视图是MFC的基础,但可能也是最不容易理解的部分,因为其概念比传统编程所需要的Windows函数更强一些,因此,须在本章做进一步详细讨论框架窗口、文档和视图的方法和技巧。 6.1框架窗口 分两类:一是应用程序主窗口,另一类是文档窗口。 6.1.1主窗口和文档窗口 主窗口(或称主框架窗口)是应用程序直接放在桌面(DeskTop)上的那个窗 口,每个应用程序只能有一个窗口,主窗口的标题栏上往往显示应用程序的名称。 主窗口类的源文件名是MainFrm.h和MainFrm.cpp,其类名是CMainFrame。 单文档SDI程序主窗口类是从CFrameWnd派生来的。 多文档MDI程序主窗口类是从CMDIFrameWnd派生的。 如果应用程序中还有工具栏(CToolBar)状态栏(CStatusBar),那么在CMainFrame类还含有表示工具栏和状态栏的成员变量m_wndToolBar和m_wndStatusBar,并在CMainFrame的OnCreate函数中进行初始化。 文档窗口对于SDI程序来说,它和主窗口是一致的,即主窗口就是文档窗口;对于MDI程序,文档窗口是主窗口的子窗口。见书244页图6.1所示。文档窗口一般都有相应的可见边框,他的客户区(初了窗口标题栏、边框外的区域)是由相应的视图来构成的,可以说视图是文档窗口内的子窗口。文档窗口时刻跟踪当前处于活动状态的视图的变化,并将用户或系统产生的命令消息传递给当前活动视图。而主窗口负责管理各个用户交互对象(包括菜单、工具栏、状态栏以及加速键)并根据用户操作相应地创建或更新文档窗口及其视图。在MDI应用程序中,MFC AppWizard创建的文档子窗口类的源代码文件是ChildFrm.h和ChildFrm.cpp,其类名是CChildFrame,它是从CMDIChildWnd派生的。 6.1.2窗口风格的设置 窗口的风格决定了窗口的外观及功能,用户通过风格的设置增加或减少窗口中所包含的功能,这些功能一般都是由系统内部定义的,不需要用户去编程实现。 窗口风格可以通过MFC AppWizard来设置,也可以在主窗口或文档窗口类的 PreCreateWindow函数中修改CREATESTRUCT结构,或是可以调用CWnd类的 成员函数ModifyStyle和ModifyStyleEx来更改。 窗口风格 通常以WS_为前缀和扩展以WS_EX_为前缀两种形式;这两种形式的窗口风格可在函数CWnd::Create(只能指定窗口的一般风格)或CWnd::CreateEx(可同时支持以上两种风格),对于控件和对话框这样的窗口来说,它们的窗口风格可直接通过其属性对话框来设置。常见的一般窗口风格如下所示:(书245页表6.1) WS_BORDER 窗口含有边框 WS_CAPTION 窗口含有标题栏(它意味着还具有WS_BORDER风格) 但它不能和WS_DLGFRAME组合 WS_CHILD 创建子窗口,它不能和WS_POPUP组合 WS_CLIPCHILDREN 在父窗口范围内裁剪子窗口,它通常在父窗口创建时指定 WS_CLIPSIBLINGS 裁剪相邻子窗口,也就是说,具有此风格的子窗口和其他 子窗口重叠的部分被裁剪,它只和WS_CHILD组合 WS_DISABLED 窗口最初时是禁用的 WS_DLGFRAME 窗口含有双边框,但没有标题 WS_GROUP 此风格被控件组中第1个控件窗口指定。用户可在控件组 的第1个和最后1个控件中用方向键来选择 WS_HSCROLL 窗口最初时处于最大化 WS_MAXIMIZEBOX 在窗口的标题栏上含有”最大化”按钮 WS_MINIMIZE 窗口最初处于最小化,他只和WS_OVERLAPPED组和 WS_MINIMIZEBOX 在窗口的标题栏上含有”最小化”按钮 WS_OVERLAPPED 创建覆盖窗口,一个覆盖窗口通常有一个标题和边框 WS_OVERLAPPEDWINDOW 创建一含有WS_OVERLAPPED、WS_CAPTION、 WS_SYSMENU、WS_THICKFRAME、 WS_MINIMIZEBOX和WS_MAXIMIZEBOX 风格的覆盖窗口 WS_POPUP 创建一弹出窗口,它不能和WS_CHILD组合,只能用 CreateWx函数指定 WS_POPUPWINDOW 创建一含有WS

您可能关注的文档

文档评论(0)

精华文库 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7111022151000002

1亿VIP精品文档

相关文档