VisualC集成环境的使用.ppt

上传人:sh****n 文档编号:8635760 上传时间:2020-03-30 格式:PPT 页数:80 大小:496.31KB
返回 下载 相关 举报
VisualC集成环境的使用.ppt_第1页
第1页 / 共80页
VisualC集成环境的使用.ppt_第2页
第2页 / 共80页
VisualC集成环境的使用.ppt_第3页
第3页 / 共80页
点击查看更多>>
资源描述
9 1VisualC 集成开发环境9 2菜单功能介绍9 3工具栏的使用9 4资源与标识符9 5应用程序的建立 第9章VisualC 集成环境的使用 返回主目录 9 1VisualC 集成开发环境 9 1 1集成开发环境的启动及其主窗口简介VisualC 6 0提供了良好的可视化编程环境 集项目建立 打开 浏览 编辑 保存 编译 连接和调试等功能于一体 VisualC 6 0可用于Windows95及WindowsNT环境 将VisualC 6 0正确安装到Windows系统之后 选择开始 程序 MicrosoftVisualStudio6 0 MicrosoftVisualC 6 0 即可启动 进入集成开发环境 DeveloperStudio 如图9 1所示 图9 1VisualC 6 0的DeveloperStudio 图9 1为集成开发环境的主窗口 包括标题栏 菜单栏 项目工作区窗口 缺省时处于泊坞状态 正文窗口 输出窗口 缺省时处于泊坞状态 和状态条 标题栏用于显示应用程序名和打开的文件名 菜单栏完成DeveloperStudio中的所有功能 工具栏对应于某些菜单或命令的功能 简化用户操作 项目工作区 Workspace 窗口用于组织文件 项目和项目配置 当读进一个项目后 该窗口的下端会出现3个标签 类视图 ClassView 资源视图 ResourceView 及文件视图 FileView 如图9 2 a c 所示 正文窗口用于各种程序文件 资源文件 文档文件以及帮助信息等显示或编辑 如图9 3所示 输出窗口用于显示项目建立过程中所产生的各种信息 状态栏给出当前操作或所选择的命令的提示信息 图9 2项目工作区 Workspace 窗口 a 类视图 b 资源视图 c 文件视图 图9 3正文窗口 9 1 2正文窗口及其操作用户可以同时打开多个正文窗口 每个窗口都是标准的Window窗口 可通过系统菜单以及右上角的最大化 最小化 复原 关闭 移动及改变尺寸等进行一般的操作 除此之外 还有以下两种方法可切换窗口 1 若需要切换的窗口已打开且可见 用鼠标单击该窗口的任何部分 或在Window菜单下选择最下面的文件列表中的相应文件即可将其激活 2 若需要切换的窗口已打开但不可见 可以使用正文窗口系统菜单下的Next命令 或加速键Ctrl F6 依次循环地切换正文窗口 也可以使用Window菜单下的Windows命令 将出现如图9 4所示的对话框 图9 4Windows对话框 在Selectwindow下面的列表框中列出当前打开的正文窗口 可让用户选择 右边的Activate按钮用来激活选中的窗口 CloseWindow s 按钮用来关闭选定的窗口 当选定的窗口是程序文件或用户可以编辑的其它文档文件时 也可用Save按钮来保存文件 9 1 3Workspace窗口及其操作在图9 2中单击不同标签就会显示相应的页面 例如单击FileView图标标签 会出现图9 2 c 所示的页面 页面中的内容是以树型结构显示的 通过单击某结点前的 或双击该结点 就可以打开该结点 显示其内容 如果双击结点为最底层的对象 则打开相应的编辑器 出现一个编辑窗口 例如 在FileView中双击文本文件 会打开源程序编辑器 在ResourceView中双击一个资源时 会打开资源编辑器 对于缺省时的泊坞状态的Workspace窗口 图9 2 或其它泊坞窗口 用鼠标拖动它们的边框 可以使它们变为普通的窗口 如图9 5所示 图9 5普通窗口时的Workspace窗口的外观 可以通过按Shift Esc键或单击工具栏中的Workspace按钮隐藏Workspace窗口 也可以用鼠标右击Workspace窗口的页面 然后从快捷菜单中选中Hide命令 或是用鼠标右击任意工具栏的边框 弹出快捷菜单 然后选取ProjectWorkspace菜单项 Workspace窗口被隐藏后 可以单击工具栏中的Workspace按钮 或者从View菜单下选取Workspace菜单项或按Alt 0加速键将其显示出来 也可以用鼠标右击任意工具栏的边框 弹出快捷菜单 然后选取ProjectWorkspace菜单项 9 2菜单功能介绍 VisualC 6 0的菜单栏包括File Edit View Insert Project Build Tools Window Help等菜单 使用方法与Windows常规操作相同 选中某个菜单后 会弹出下拉式子菜单 子菜单中某些常用的菜单右边常常对应着某个加速键 按下加速键将直接执行该菜单项操作 菜单项后面带有 表示当选择该菜单项后将弹出一个对话框 供用户作进一步的设置 菜单项后面黑色的三角箭头 表示该菜单项还带有下一级的子菜单 在窗口的不同位置单击鼠标右键 可以弹出快捷菜单 该菜单中的选项通常都是与当前位置关系密切 需要频繁执行的操作命令 9 2 1File菜单File菜单中的命令主要完成文件的建立 保存 打开 关闭以及打印等工作 菜单命令项及其加速键和功能如表9 1所示 表9 1File菜单命令的加速键及功能 菜单命令加速键功能说明NewCtrl N创建一个新文件 工程OpenCtrl O打开一个已存在的文件Close关闭当前被打开的文件OpenWorkspace打开一个已存在的WorkspaceSaveWorkspace保存当前被打开的WorkspaceCloseWorkspace关闭当前被打开的WorkspaceSaCtrl S保存当前文件SaveAs以新的文件名保存当前文件SaveAll保存所有打开的文件PageSetup设置文件的页面PrintCtrl P打印文件的全部或选定的部分RecentFiles最近的文件列表RecentWorkspace最近的Workspace列表Exit退出集成开发环境 9 2 2Edit菜单Edit菜单中的命令用来使用户便捷地编辑文件 如进行删除 复制等操作 菜单命令项及其加速键和功能如表9 2所示 菜单命令加速键功能说明UndoCtrl Z撤消上一次编辑操作RedoCtrl Y恢复被取消的编辑操作CutCtrl X将选定的文本剪切到剪贴板中CopyCtrl C将选定的文本复制到剪贴板中PasteCtrl V将剪切板中的内容粘贴到光标处DeleteDel删除选定的对象或光标处的字符SelectAllCtrl A一次性选定窗口中的全部内容FindCtrl F查找指定的字符串FindinFiles在多个文件中查找指定的字符串 ReplaceCtrl H替换指定的字符串GoToCtrl G光标自动转移到指定位置BookmarksCtrl F2给文本加书签Advanced IncrementalSearchCtrl I开始向前搜索Advanced FormatSelectionAlt F8对选中对象进行快速缩排Advanced TabifySelection在选中对象中用跳格代替空格Advanced UntabifySelection在选中对象中用空格代替跳格Advanced MakSelectionUppercaseCtrl Shift U把选中部分改成大写 续表 2 Advanced MakeSelectionLowercaseCtrl U把选中部分改成小写Advanced a bViewWhitespaceCtrl Shift 8显示或隐藏空格点BreakpointsAlt F9编辑程序中的断点ListMembersCtrl Alt T列出全部关键字TypeInfoCtrl T显示变量 函数或方法的语法ParameterInfoCtrl Shift Space显示函数的参数CompleteWordCtrl Space给出相关关键字的全称 续表 3 9 2 3View菜单View菜单中的命令主要用来改变窗口的显示方式 激活调试时所用的各个窗口 菜单命令项及其加速键和功能如表9 3所示 表9 3View菜单命令的加速键及功能 菜单命令加速键功能说明ClassWizardCtrl W编辑应用程序中的类ResourceSymbols浏览和编辑资源文件中的符号ResourceIncludes编辑修改资源文件名及预处理指令FullScreen切换窗口的全屏幕方式和正常方式WorkspaceAlt 0激活Workspace窗口OutputAlt 2激活Output窗口DebugWindows WatchAlt 3激活Watch窗口DebugWindows CallStackAlt 7激活CallStack窗口DebugWindows MemoryAlt 6激活Memory窗口DebugWindows VariablesAlt 4激活Variables窗口DebugWindows RegistersAlt 5激活Registers窗口DebugWindows DisassemblyAlt 8激活Disassembly窗口Refresh更新选择域PropertiesAlt Enter编辑当前被选中对象的属性 9 2 4Insert菜单Insert菜单中的命令主要用于项目 文件及资源的创建和添加 菜单命令项及其加速键和功能如表9 4所示 表9 4Inset菜单命令的加速键及功能 菜单命令加速键功能说明NewClass创建新类并加入到项目中NewForm创建新表并加入到项目中ResourceCtrl R创建各种新资源ResourceCopy对选定的资源进行拷贝FileAsText在当前源文件中插入一个文件NewALTObject在项目中增加一个ALT对象 9 2 5Project菜单Project菜单中的命令主要用来对项目进行文件的添加工作 菜单命令项及其加速键和功能如表9 5所示 表9 5Project菜单命令的加速键及功能 菜单命令加速键功能说明SetActiveProject激活项目AddToproject New在项目上增加新文件AddToproject NewFolder在项目上增加新文件夹AddToproject Files在项目上插入已存在的文件AddToproject DataConnection在当前项目上增加数据连接AddToproject ComponentsandControls在当前项目上插入库中的组件Dependencies编辑项目组件SettingsAlt F7编辑项目编译及调试的设置ExportMakefile以Makefile形式输出可编译项目InsertProjectintoWorkspace将项目插入Workspace窗口中 9 2 6Build菜单Build菜单中的命令主要用来进行应用程序的编译 连接 调试和运行等 菜单命令项及其加速键和功能如表9 6所示 表9 6Build命令的加速键及功能 菜单命令加速键功能说明CompileAppmodul cppCtrl F7编译C或C 源代码文件BuildEx00 exeF7编译和连接项目RebuildAll编译和连接项目及资源BatchBuild一次编译和连接多个项目Clean删除中间及输出文件StartDebug GoF5开始或继续调试程序StartDebug StepIntoF11单步运行调试StartDebug RuntoCursorCtrl F10运行程序到光标所在行StartDebug AttachtoProcess连接到正在运行的进程DebuggerRemoteConnection编辑远程调试连接设置ExecuteEx00 exeCtrl F5运行程序SetActiveConfiguration选择激活的项目及配置Configurations编辑项目的配置Profile设置Profile选项 显示Profile数据 9 2 7Tools菜单Tools菜单中的命令主要用于选择或定制集成开发环境中的一些实用工具 来改变窗口的显示方式 激活调试所用的各个窗口 菜单命令项及其加速键和功能如表9 7所示 表9 7Tools菜单命令的加速键及功能 菜单命令加速键功能说明SourceBrowserAlt F12在选定的对象或当前文本中查询CloseSourceBrowserFile关闭信息库VisualComponentManager激活VisualComponentManagerRegisterControl激活RegisterControlErrorLookup激活ErrorLookupActiveXControlTestContainer激活ActiveXControlTestContainerOLE COMObjectViewer激活OLE COMObjectViewerSpy 激活Spy MFCTracer激活MFCTracerCustomize定制Tool菜单和工具栏 菜单命令加速键功能说明Options改变集成开发环境的各项设置Macro创建和编辑宏RecordQuickMacro记录宏PlayQuickMacro运行宏 续表 2 9 2 8Window菜单Window菜单中的命令主要用来排列集成开发环境中的各个窗口 打开或关闭一个窗口 使窗口分离或重组等操作 改变窗口的显示方式 激活调试所用的各个窗口 菜单命令项及其加速键和功能如表9 8所示 表9 8Window菜单命令的加速键及功 菜单命令加速键功能说明NewWindow为当前文件打开一个新的窗口Split分割窗口DockingViewAlt F6启用或关闭DockingView模式Close关闭当前打开的窗口CloseAll关闭所有打开的窗口Next激活下一个窗口Previous激活上一个窗口Cascade多个窗口重叠出现在显示区域中TileHorizontally把窗口按水平方向排列TileVertically把窗口按垂直方向排列Windows管理当前打开的窗口 9 2 9Help菜同大多数的Windws软件一样 VisualC 6 0提供了大量详细的帮助信息 这些信息都可以在Help菜单得到 Help的各项命令如表9 9所示 表9 9Help菜单命令的功能 菜单命令功能说明Contents显示所有帮助信息的内容列表Search利用在线查询获得帮助信息Index显示在线文件的索引UseExtensionHelp开启或关闭ExtensionHelpKeyboardMap显示所有的键盘命令TipoftheDay显示TipoftheDay对话框TechnicalSupport显示DeveloperStudio的支持信息MicrosoftonthWeb FreeStuff打开DeveloperStudio97FreeStuff页MicrosoftonthWeb ProductNews打开DeveloperStudio97产品消息页 续表 2 菜单命令功能说明MicrosoftonthWeb FrequentlyAskedQuestions打开DeveloperStudio97经常性问题页MicrosoftonthWeb OnlineSupport打开Microsoft在线帮助页MicrosoftonthWeb MSDNOnline打开Developer产品主页MicrosoftonthWeb SendFeedback打开Developer产品信息反馈页MicrosoftonthWeb BestoftheWeb打开最佳网页MicrosoftonthWeb SearchtheWeb打开查询页MicrosoftonthWeb WebTutorial打开指南页MicrosoftonthWeb MicrosoftHomePage打开Microsoft主页AboutVisualC 显示本版本的有关信息 9 3工具栏的使用 9 3 1标准 Standard 工具栏工具栏是许多菜单命令相对应的按钮的组合体 提供执行常用命令的快捷方法 第一次运行VisualC 6 0时 显示的是默认状态下的标准工具栏 如图9 6所示 图9 6窗口式的Standard工具栏 9 3 2显示 隐藏工具栏如果用户对当前显示的工具栏不满意 可以自己选择适当的工具栏加以显示 并隐藏那些不用的工具栏 显示与隐藏工具栏的步骤如下 1 单击Tools菜单 选中Customize菜单项 2 在弹出的对话框中 单击Toolbars标签 如图9 7所示 在该选项卡中显示有Toolbars列表框 其中显示默认的Menubar Standard BuildMiniBar和WizardBar工具栏条目被选中 若要显示某工具栏 只需单击该条目 使其前面出现 而要隐藏某工具栏 则再次单击该条目 使其前面的 消失即可 图9 7Customize对话框中的Toolbars选项卡 9 3 3工具栏的定制用户可以根据需要定制新的工具栏 或者对已有的工具栏进行修改 如添加新按钮 删除已有按钮等 定制新的工具栏的步骤为 1 在图9 7中 单击New按钮 弹出NewToolbar对话框 输入新的工具栏名称 如MyTools 2 单击OK按钮 Toolbars列表框中增加新的工具栏 MyTools 同时它出现在屏幕上 单击Commands标签 出现图9 8 图9 8Customize对话框中的Commands选项卡 3 添加新按钮 在Category下拉列表框中选一项 对应的右边Buttons组框中会出现相应的一组按钮 从中选择需要的按钮 拖动到新创建的工具栏即可 工具栏中的其它按钮自动调整排列位置 4 删除工具栏中的按钮 在出现图9 7或图9 8后 用鼠标点中该工具栏按钮并拖动 一直脱离VisualC 6 0的工具栏和菜单即可 9 4资源与标识符 9 4 1资源在Windows环境下进行程序设计时 可以将一些数据如字符串常量 位图等以特殊的格式存储在资源文件中 它们可以被单独地编辑修改 编写程序代码时只需引用它们的资源标识符即可 无须直接将数据写入程序代码中 图9 2 b 的资源视图中显示了Windows资源的类型 包括加速键 Accelerator 光标 Cursor 对话框 Dialog 图标 Icon 菜单 Menu 串表 StringTable 工具栏 Toolbar 和版本信息 Version 等 程序员也可以根据需要自定义资源的类型 9 4 2资源编辑器使用资源编辑器 可以创建新的资源 修改已有的资源 拷贝资源以及删除无用的资源 创建或打开资源时 系统将会自动打开相应的编辑器 1 创建新资源从Insert菜单中选择Resource命令或从工具栏中单击Resource按钮 弹出InsertResource对话框 如图9 9所示 从ResourceType列表框中选择资源类型 然后单击New按钮即可创建新的资源 图9 9InsertResource对话框 2 查看和修改资源图9 2 b 中 单击 标记扩展每一分类来查看资源 可以用菜单命令复制 移动 粘贴或删除资源 也可以双击它打开相应的编辑器来修改资源 并运用资源属性对话框来修改资源的语言属性或条件属性 3 资源模板创建资源模板的方法与创建资源文件的方法基本相同 区别在于必须使用File菜单中SaveAs命令将资源模板保存在MicrosoftVisualStudio Common MSDev98 Template文件夹中 创建资源模板后 可在资源模板上创建新的资源 4 资源标识符资源标识符由映射到数值上的字符串组成 用于在源代码或资源编辑器中引用资源或对象 创建新的资源或对象时 系统自动为其提供默认标识符 如IDD ABOUTBOX 和符号值 标识符和符号值自动保存在系统生成的资源文件resource h中 标识符通常带有描述性前缀 以表示资源或对象的类型 例如 加速键或菜单前缀为IDB 对话框前缀为IDD 光标前缀为IDC 图标前缀为IDI 位图前缀为IDB 菜单项的前缀为IDM 命令前缀为ID 控件前缀为IDC 串表中串的前缀为IDS 消息框中的串前缀为IDP 随着应用程序的增大和复杂程度的增加 与其相关的资源符号也会不断增多 要手工跟踪分散在不同文件中的大量资源符号是相当困难的 资源符号浏览器简化了资源符号的管理 使用资源符号浏览器 用户可以 1 快速浏览已有资源符号的定义 以便了解每个资源的符号值 已使用的资源符号列表以及与每个符号相关的资源 2 创建新的资源符号 3 更改资源的符号名和符号值 4 删除不再使用的资源符号 5 快速切换到某个资源所对应的编辑器中 9 5应用程序的建立 9 5 1概述在VisualC 中 开发Windows应用程序有很多方法 最简单 最方便的方法当然是AppWizard 它用于创建基于MFC类库 MicrosoftFoundationClassLibrary 的Windows应用程序框架文件 这些文件包括了构造一个基于Windows的应用程序必需的所有文件 如源文件 头文件 资源文件和模块定义文件 应用程序的一些设置和属性描述 等 利用MFCAppWizard的向导建立应用程序时 根据要建立的应用程序的不同 需要有不同的步骤 6步或4步 每一步要设置不同的选项 这样就可以得到开发应用程序的基本文件 然后再利用ClassWizard来实现应用程序的具体功能 9 5 2利用AppWizard创建一个新的项目本节首先利用AppWizard生成一个应用程序框架 以后的章节中将逐步介绍如何向其加入具体的实现内容 第一步 选择File菜单中的New命令 选中Project选项卡 如图9 10所示 选择MFCAppWizard exe 在Location编辑框中可直接键入目录名称 或者单击 按钮选择已有的目录 在Projectname框中键入工程的名称 如Ex01 此时OK按钮激活 单击OK按钮后弹出 MFCAppWizard Step1 对话框 见图9 11 图9 10建立新项目对话框 图9 11MFCAppWizard Step1对话框 第二步 用该对话框选择应用程序的基本结构 可以选择Singledocument 单文档 即SDI Multipledocuments 多文档 即MDI 和Dialogbased 基于对话框 的界面 本例中选择默认值 即多文档 本例下面的几步均选择缺省值 可以直接在图9 11的窗口中点击Finish按钮 或者一步一步点击Next按钮 在出现图9 12所示的窗口时单击OK按钮 MFCAppWizard为应用程序生成必要的初始化文件并在项目工作区窗口打开生成的项目 见图9 2 从Build菜单或工具栏中选择Execute命令或按钮 也可按下Ctrl F5 来运行程序 在出现的对话框中单击OK按钮 系统开始编译 连接 生成可执行的Windows程序 程序运行画面如图9 13所示 图9 12NewProjectInformation对话框 图9 13AppWizard生成的应用程序框架的运行 9 5 3程序分析现在分析一下MFCAppWizard产生的文件 可以使读者清楚了解VisualC 程序的一般组成及其工作原理 在FileView中双击所有文件夹图标或其前的 号 出现图9 14 在几个主要的源程序文件中定义了如下几个类 1 应用程序类 在Ex01程序中是CEx01App 派生自CWinApp 头文件和源程序文件分别是Ex01 h和Ex01 cpp 在Ex01 cpp中定义了一个该类对象theApp 这是一个全局变量 用于初始化应用程序以及运行该应用程序提供的函数成员 每一个基于MFC类库的应用程序只能有一个该类对象 图9 14文件视图详细列 应用程序开始运行时 自动调用应用程序框架内的WinMain函数 不同于C语言的主函数main Windows应用程序入口是WinMain函数 在基于MFC的程序中它被隐藏在应用程序框架内部 该函数调用theApp对象的InitInstance 函数成员进行必要的初始化 接着调用隐藏在基类CWinApp中的函数Run 应用程序进入运行状态 用户可以通过关闭主框架窗口来终止应用程序的运行 这一操作将会引起一系列事件的发生 首先主窗口 CEx01Frame 对象将被删除 然后退出WinMain 最后删除theApp对象 CWinApp类的主要函数成员有 InitInstance函数 Windows系统允许用户同时运行同一应用程序的多个实例 每当启动新的应用实例时 WinMain都要调用InitInstance函数对程序实例进行初始化 InitInstance函数完成的初始化工作主要包括 创建并注册文档模板 从INI文件中装载文件选项或Windows注册信息 创建窗口 处理命令行以打开命令行中指定的文档 或打开新文档 Run函数 完成程序的初始化工作后 WinMain将调用Run函数来处理消息循环 该函数不断检查消息队列中有没有消息 如果有消息 将消息发送出去 让程序执行相应动作 如果没有消息 则调用OnIdle函数作程序空闲时的处理 如果没有消息也无须作空闲时的处理 程序将一直等待 直到消息出现 应用程序结束时 Run函数调用ExitInstance做最后的退出工作 OnIdle函数 此函数用于处理程序空闲时的工作 缺省时 OnIdle函数会对用户界面作更新 或清理在运行过程中创建的临时对象 ExitInstance函数 应用程序被终止时 该函数被调用 如需作某些清理工作 例如释放程序执行时占用的内存 用户可以重载该函数 下面是应用程序主文件Ex01 cpp的主要代码 Ex01 cpp 定义应用程序的类行为 CEx01AppBEGIN MESSAGE MAP CEx01App CWinApp AFX MSG MAP CEx01App ON COMMAND ID APP ABOUT OnAppAbout 注意 ClassWizard 类向导 将可能添加或删除消息映射宏 AFX MSG MAP 标准的基于文档的文件命令 ON COMMAND ID FILE NEW CWinApp OnFileNew ON COMMAND ID FILE OPEN CWinApp OnFileOpen 标准的打印设置命令ON COMMAND ID FILE PRINT SETUP CWinApp OnFilePrintSetup END MESSAGE MAP CEx01App类的构造函数CEx01App CEx01App 在这里添加构造函数代码 在本程序中有且只有一个CEx01App对象CEx01ApptheApp 定义全局CEx01App对象 CEx01App初始化BOOLCEx01App InitInstance AfxEnableControlContainer 允许包含OLE控件 标准的初始化部分 如果不想使用这些特性并想缩短最终可执行程序的长度 应删除下面给定的所不需要的初始化例程 ifdef AFXDLL 装入CTL3d32 DLLEnable3dControls 当在动态连接库中使用MFC时调用此函数 elseEnable3dControlsStatic 当静态连接MFC库时调用此函数 endif 改变此应用程序所存储的注册键 应该修改此字符串 它可以是公司名或组织名等等SetRegistryKey T LocalAppWizard GeneratedApplications LoadStdProfileSettings 装入标准的INI文件选项 包括MRU 注册应用程序程序文档模板 用于连接文档与框架窗口和视图CMultiDocTemplate pDocTemplate pDocTemplate newCMultiDocTemplate IDR EX01TYPE RUNTIME CLASS CEx01Doc RUNTIME CLASS CChildFrame MDI主框架窗口RUNTIME CLASS CEx01View AddDocTemplate pDocTemplate 创建主框架窗口CMainFrame pMainFrame newCMainFrame if pMainFrame LoadFrame IDR MAINFRAME returnFALSE m pMainWnd pMainFrame 分析标准的外壳命令 DDE及打开文件的命令行CCommandLineInfocmdInfo ParseCommandLine cmdInfo 分析命令行命令if ProcessShellCommand cmdInfo returnFALSE 显示并更新主框架窗口pMainFrame ShowWindow m nCmdShow pMainFrame UpdateWindow returnTRUE 2 主窗口类 CMainFrame派生自CMDIFrameWnd 主窗口对象负责管理标题栏 菜单 工具栏和状态栏 Windows自动管理用户与主窗口之间的大部分交互工作 如移动窗口 改变窗口大小 最大化或最小化窗口 关闭窗口等 在创建窗口时 标题栏和菜单栏会被自动创建 而工具栏和状态栏的创建则需要在OnCreate 函数中实现 下面是CMainFrame类的实现部分主要代码 MainFrm cpp CMainFrame类的实现部分 CMainFrameIMPLEMENT DYNAMIC CMainFrame CMDIFrameWnd 以下为消息映射部分 消息以BEGIN MESSAGE MAP宏开始BEGIN MESSAGE MAP CMainFrame CMDIFrameWnd AFX MSG MAP CMainFrame 注意 ClassWizard 类向导 将可能添加或删除消息映射宏ON WM CREATE AFX MSG MAPEND MESSAGE MAP 消息映射以END MESSAGE MAP宏结束staticUINTindicators ID SEPARATOR 状态栏指示器ID INDICATOR CAPS 大小写切换键 CapsLock 状态指示ID INDICATOR NUM 数字锁定键 NumLock 状态指示ID INDICATOR SCRL 滚动锁定键 ScrollLock 状态指示 CMainFrame类的构造函数和析构函数CMainFrame CMainFrame 在这里添加成员初始化代码 CMainFrame CMainFrame intCMainFrame OnCreate LPCREATESTRUCTlpCreateStruct if CMDIFrameWnd OnCreate lpCreateStruct 1 return 1 if m wndToolBar CreateEx this TBSTYLE FLAT WS CHILD WS VISIBLE CBRS TOP CBRS GRIPPER CBRS TOOLTIPS CBRS FLYBY CBRS SIZE DYNAMIC m wndToolBar LoadToolBar IDR MAINFRAME TRACE0 Failedtocreatetoolbar n return 1 若建立工具栏失败 返回 1 if m wndStatusBar Create this m wndStatusBar SetIndicators indicators sizeof indicators sizeof UINT TRACE0 Failedtocreatestatusbar n return 1 若建立状态栏失败 返回 1 如果不想要泊坞的工具栏 则删除下面的三行代码m wndToolBar EnableDocking CBRS ALIGN ANY EnableDocking CBRS ALIGN ANY DockControlBar 3 文档类 CEx01Doc派生自CDocument 主要用于在文档对象中存放程序数据 并在其它对象的成员函数中对这些数据进行引用 另外 文档对象提供一个Serialize函数 用于串行化数据 如对磁盘数据进行存取 它有一个名为ar的CArchive对象成员 通过该对象将数据存储到磁盘上或从磁盘上读取数据 下面是文档类CEx01Doc实现的主要代码 Ex01Doc cpp CEx01Doc类的实现 CEx01DocIMPLEMENT DYNCREATE CEx01Doc CDocument BEGIN MESSAGE MAP CEx01Doc CDocument AFX MSG MAP CEx01Doc 注意 ClassWizard 类向导 将可能添加或删除消息映射宏 AFX MSG MAPEND MESSAGE MAP CEx01Doc构造函数和析构函数CEx01Doc CEx01Doc 在这里添加构造函数代码 CEx01Doc CEx01Doc BOOLCEx01Doc OnNewDocument if CDocument OnNewDocument returnFALSE 添加重新初始化代码 SDI文档将再次利用该文档 returnTRUE CEx01Doc串行化 serialization voidCEx01Doc Serialize CArchive ar if ar IsStoring 添加保存文件代码 else 添加装入文件代码 4 视图对象 CEx01View派生自CView 用于管理程序客户区 对客户区的绘制工作由函数成员OnDraw函数完成 几乎所有应用程序的绘制工作都通过这一函数实现 编程时必须重载该函数 OnDraw函数通过调用GetDocument函数获得文档对象指针 通过指针读取文档对象中的数据 下面是CEx01View类实现的主要代码 Ex01View cpp CEx01View类的实现 CEx01ViewIMPLEMENT DYNCREATE CEx01View CView BEGIN MESSAGE MAP CEx01View CView 消息映射开始 AFX MSG MAP CEx01View 注意 ClassWizard 类向导 将可能添加或删除消息映射宏 AFX MSG MAP 标准打印命令ON COMMAND ID FILE PRINT CView OnFilePrint ON COMMAND ID FILE PRINT DIRECT CView OnFilePrint ON COMMAND ID FILE PRINT PREVIEW CView OnFilePrintPreview END MESSAGE MAP CEx01View构造函数和析构函数CEx01View CEx01View 在这里添加构造函数 CEx01View CEx01View BOOLCEx01View PreCreateWindow CREATESTRUCT CEx01View绘图voidCEx01View OnDraw CDC pDC CEx01Doc pDoc GetDocument ASSERT VALID pDoc 添加描绘特定数据的代码 CEx01View打印BOOLCEx01View OnPreparePrinting CPrintInfo pInfo 缺省的打印预处理returnDoPreparePrinting pInfo voidCEx01View OnBeginPrinting CDC pDC CPrintInfo pInfo 添加打印前的额外初始代码 voidCEx01View OnEndPrinting CDC pDC CPrintInfo pInfo 添加打印后的清理代码 另外 生成的源程序文件中还包含文件StdAfx cpp 它用于包含MFC标准头文件
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!