




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章 掌握开发环境,早期的软件开发基于命令行(command line)模式,调用各种命令完成代码的编译(compile)、连接(link)、运行(execute)及环境的配置(config)等,操作复杂且不直观。Visual C+提供可视化的开发界面,所有操作均可在开发环境中完成,极大提高了软件开发的效率,工欲善其事,必先利其器,熟练操作开发平台是学习Visual C+的第一步。,3.1 创建运行程序,在Visual C+中创建一个桌面程序,有Win32 API和MFC两种方式。API方式直接调用Windows API函数,完全从零开始创建应用程序,可从最底层了解Windows程序运行原理,但难度太大,不适合做桌面应用开发。 MFC方式使用Microsoft构建的MFC框架,在基础框架上添加新增功能,相对于API方式,节省了大量的工作量。MFC框架提供三种类型的程序:对话框(Dialog)、单文档(SDI)、多文档(MDI)。对话框是一个可以拖放控件的窗口,如Windows自带的计算器程序。单文档用于处理一种类型的文件,如记事本。多文档用于同时处理多种类型的文件,如Word、Excel等。,3.1.1 Win32程序,Win32程序利用Windows API函数创建桌面窗口,可以从最底层了解Windows程序的运行原理,掌握Windows的消息流程,对于学习MFC开发很有用处。 【范例3-1】创建一个Win32程序,并在程序窗口上绘制图形。,3.1.2 对话框程序,【范例3-2】利用MFC应用程序向导,创建一个对话框程序。,3.1.3 单文档程序,【范例3-3】利用MFC应用程序向导,创建一个单文档应用程序,使用Html视图显示网页文件。,3.1.4 多文档程序,【范例3-4】利用MFC应用程序向导,创建一个多文档程序,在视图窗口绘制图形。,3.2 开发界面,Windows以其人性化的操作界面广受欢迎,这一点在Visual C+中也得到了充分体现,相对于Turbo C+、DEV C+、GCC等编译器,Visual C+功能强大、使用方便,是Windows下C+软件开发的首选工具,熟悉开发界面,可以更好的发挥Visual C+的优势。,3.2.1 菜单,菜单(menu)是Windows程序的基本元素,将功能相关的命令放在一个菜单下,便于用户选择使用,Visual C+的菜单项如图所示。,3.2.2 工具条,工具条常作为菜单项的快捷方式,在菜单中一般有其功能的对应项,Visual C+提供工具栏便于操作,在窗口非工作区右键单击鼠标,在弹出的快捷菜单中可选择要显示的工具栏。,3.2.3 类视图,类视图(ClassView)以类结构的方式显示整个工程,根节点为工程名称,如Dlg01,根节点下的一级子节点为类名,如CAboutDlg,若函数或变量不是类成员,显示在Globals节点下,表示全局成员。,3.2.4 资源视图,资源视图(ResourceView)显示工程包含的各种资源,程序代码仅负责逻辑功能,程序的外观显示需要使用资源文件,包括Accelerator快捷键、Bitmap位图、Cursor鼠标光标、Dialog对话框模板、Icon图标、Menu菜单、String Table字符串表、Toolbar工具栏、Version版本信息。,3.2.5 文件视图,文件视图(FileView)显示工程包含的所有文件,Source Files节点下显示所有的源文件,Header Files节点下显示所有的头文件,Resouce Files节点下显示所有的资源文件,ReadMe.txt存放说明信息。,3.2.6 类向导,类向导提供一个窗口集中操作类成员,可以方便地添加虚函数、消息处理函数、类成员变量等。选择View|ClassWizard命令,或按Ctrl+W键打开MFC ClassWizard窗口。 Message Maps(消息映射)选项卡用于为类添加虚函数和消息处理函数,Project组合框选择工程名称,Class name组合框选择类名,Object IDs列表框选择要添加函数的类或控件,Messages列表框选择要添加的虚函数或消息,以WM_开头的为消息,其余为要重写的虚函数,Member functions列表框为已添加的成员函数,其中图标V代表虚函数,图标W代表消息处理函数。,3.2.7 输出窗口,输出窗口主要用于显示生成结果,rror显示错误数目,有错误不能生成程序,warning显示警告数目,表示部分代码不规范,一般不影响程序的生成。双击error项可定位到错误位置,若有多个错误,应从第一个错误开始检查。,3.3 使用技巧,在实际开发中,经常需要进行创建一个自定义类或派生类、为类添加成员、添加资源文件等操作,若通过手工添加代码的方式完成,工作量大且容易出错,Visual C+提供一些窗口用以自动完成这些功能,掌握开发环境的使用技巧,可以节省工作量,提高开发效率。,3.3.1 添加类,通过以下三种方式可打开添加类窗口: 选择Insert|New Class命令。 在类视图中右键单击工程名,在弹出的快捷菜单中选择New Class命令。 打开类向导窗口,在Message Maps选项卡中单击Add Class按钮并选择New命令。,3.3.2 添加类成员函数,在类视图右键单击类名,在弹出的快捷菜单中选择Add Member Function命令,弹出Add Member Function窗口。Function Type文本框输入函数返回类型,Function Declaration文本框输入函数名和参数列表,Access单选框选择函数访问权限,Static复选框设置是否为静态成员函数,Virtual复选框设置是否为虚函数,单击OK按钮完成添加并退出。,3.3.3 添加类成员变量,在类视图右键单击类名,在弹出的快捷菜单中选择Add Member Variable命令,弹出Add Member Variable窗口。Variable Type文本框输入变量类型,Variable Name文本框输入变量名称,一般以m_开头表示类成员,Access单选框选择变量访问权限,单击OK按钮完成添加并退出。,3.3.4 添加消息处理函数,从MFC类CCmdTarget派生的类都可接收消息,消息由操作系统发送给程序,程序可添加相应的消息处理函数用来响应消息。在Windows中用结构体MSG包装消息,格式如下: typedef struct HWND hwnd; UINT message; WPARAM wParam; LPARAM lParam; DWORD time; POINT pt; MSG, *PMSG;,3.3.4 添加消息处理函数,句柄(handle)用来唯一标识一个Windows资源,窗口(HWND)、程序实例(HINSTANCE)、设备环境(HDC)、画刷(HBRUSH)、画笔(HPEN)、光标(HCURSOR)等都有句柄值,如根据窗口句柄值区分不同窗口,可将句柄作为资源的ID值,在Windows中句柄的部分定义如下: typedef void* HANDLE; typedef HANDLE HWND; typedef HANDLE HINSTANCE;,3.3.4 添加消息处理函数,句柄实际上就是一个void类型指针值,指向内存中资源文件的地址,Windows将其抽象为一种数据类型,在使用时可将其当做一种可定位Windows资源的新数据类型。 UINT、WPARAM、LPARAM、DWORD是Windows中重定义的数据类型,定义如下: typedef unsigned int UINT; typedef UINT WPARAM; typedef LONG LPARAM; typedef unsigned long DWORD;,3.3.5 重写虚函数,基类中声明为virtual的函数可在派生类中重写,根据指针实际指向的对象确定调用哪个版本的函数。在类视图右键单击类名,在弹出的快捷菜单中选择Add Virtual Function命令,弹出New Virtual Override窗口。,3.3.6 添加资源,在资源视图右键单击一项,在弹出的快捷菜单中选择Insert命令,弹出Insert Resource窗口。Resource type列表框选择资源类型,单击New按钮添加新项,单击Import按钮导入已有资源文件。 在资源视图双击Bitmap节点下的项,打开位图编辑界面。左边为效果图,中间为图形编辑窗口,右边为工具箱和调色板。工具箱中可以选择图形工具和图形尺寸,调色板中鼠标左击颜色设置前景色,鼠标右键单击颜色设置背景色。,3.3.7 添加已有文件和控件,若添加已有文件到工程,可先将文件复制到工程目录下,选择Project|Add To Project|Files命令,弹出Insert Files into Project窗口。选择要添加的一个或多个文件,单击OK按钮完成添加并退出。 若添加已注册的ActiveX控件到控件箱中,选择Project|Add To Project|Components and Controls命令,弹出Components and Controls Gallery窗口,可添加已注册的控件和Visual C+自带的控件,双击Registered ActiveX Controls文件夹,显示所有已注册的控件。,3.3.7 添加已有文件和控件,选择
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 证券投资分析策略与实践应用试题
- 夏日冰棒美术课件
- 社交媒体营销策略案例分析与探讨题
- 汽车行业技术研发经验证明书(6篇)
- 生产安全检查知识手册
- 农村集体经济合作社章程及合作协议书
- 行政管理中的前沿公共关系学试题及答案
- 2025年行业前景试题及答案
- 行政管理经济法概论重难点探讨试题及答案
- 水利水电工程关键考点及复习策略试题及答案
- 矿山矿石运输协议书
- 2025入团积极分子发展对象考试题库及参考答案详解【巩固】
- 疫苗管理制度
- 2024届北京朝阳人大附朝阳分校中考一模生物试题含解析
- ktv保安合同协议书
- 2025届山东省威海市二中高三二诊模拟考试生物试卷含解析
- 语文课程标准修订要点分析
- 2025年随州国投集团公开招聘42名工作人员笔试参考题库附带答案详解
- 厦大介绍课件
- 陕西建筑工程验收资料(A表)
- 社区共享充电桩计划书
评论
0/150
提交评论