您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > VC++程序设计12(VC开发环境与Windows编程基础)
1第十二讲Windows基本应用程序的建立严宣辉数学与计算机科学学院E-mail:yanxuanhui@fjnu.edu.cn2教学提纲•一、教学内容:•Windows编程基础知识•Windows应用程序的基本结构和工作原理•二、学时:两课时•三、教学目的和要求•了解VC++2008开发环境•掌握C++/CLI基本概念•掌握WindowsForm应用程序的基本结构和建立方法•四、教学重点和难点•重点:WindowsForm应用程序的基本结构•难点:C++/CLI3四.教学过程提要•4.1VisualC++2008集成开发环境的使用;•4.2C++/CLI基本概念;•4.3WindowsForm应用程序的基本结构和建立方法。4§4.1VC++2008集成开发环境的使用1、集成开发环境的启动及其主窗口简介4.1.1VisualC++集成开发环境52、解决方案管理器“窗口及其操作4.1.1VisualC++集成开发环境264.1.2菜单功能介绍14.1.2菜单功能介绍VisualC++2008的菜单栏包括File、Edit、View、Project、Build、Debug、Tools、Window、Help等菜单,使用方法与Windows常规操作相同。在窗口的不同位置单击鼠标右键,可以弹出快捷菜单,该菜单中的选项通常都是与当前位置关系密切,需要频繁执行的操作命令。71、File菜单File菜单中的命令主要完成文件的建立、保存、打开、关闭以及打印等工作。4.1.2菜单功能介绍282、Edit菜单Edit菜单中的命令用来使用户便捷地编辑文件,如进行删除、复制等操作。4.1.2菜单功能介绍393、View菜单View菜单中的命令主要用来改变窗口的显示方式,激活调试时所用的各个窗口。4.1.2菜单功能介绍4104、Project菜单Project菜单中的命令主要用来对项目进行文件的添加工作。4.1.2菜单功能介绍5115、Build菜单Build菜单中的命令主要用来进行应用程序的编译、连接、调试和运行等。4.1.2菜单功能介绍6126、Tools菜单Tools菜单中的命令主要用于选择或定制集成开发环境中的一些实用工具,来改变窗口的显示方式,激活调试所用的各个窗口。4.1.2菜单功能介绍7137、Window菜单Window菜单中的命令主要用来排列集成开发环境中的各个窗口、打开或关闭一个窗口、使窗口分离或重组等操作,改变窗口的显示方式,激活调试所用的各个窗口。4.1.2菜单功能介绍8148、Help菜同大多数的Windws软件一样,VisualC++6.0提供了大量详细的帮助信息,这些信息都可以在Help菜单得到。4.1.2菜单功能介绍9154.1.3工具栏的使用1、标准(Standard)工具栏工具栏是许多菜单命令相对应的按钮的组合体,提供执行常用命令的快捷方法。162、显示/隐藏工具栏如果用户对当前显示的工具栏不满意,可以自己选择适当的工具栏加以显示,并隐藏那些不用的工具栏。显示与隐藏工具栏的步骤如下:(1)单击Tools菜单,选中自定义菜单项。(2)在弹出的对话框中,单击“工具栏”标签,。在该选项卡中显示有Toolbars列表框。若要显示某工具栏,只需单击该条目,使其前面出现“√”;而要隐藏某工具栏,则再次单击该条目,使其前面的“√”消失即可。4.1.3工具栏的使用2173、工具栏的定制用户可以根据需要定制新的工具栏,或者对已有的工具栏进行修改,如添加新按钮、删除已有按钮等。4.1.3工具栏的使用181、窗口及组成菜单条(Menubar)工作区下拉菜单水平滚动条垂直滚动条最大化按钮最小化按钮标题栏4.1.4Windows图形用户界面状态栏192、常用界面元素按钮、静态文本、编辑框、列表框、滚动条、旋转按钮、图像框、进度条、菜单、工具栏、状态栏、树控件。4.1.4Windows图形用户界面220§4.2C++/CLI基本概念211、C++/CLI简介4.2.2C++/CLI基本概念•C++/CLI是一集标准化的语言扩展(对标准C++进行扩展),而并非另起炉灶的另一门新语言。所以C++/CLI是标准C++的一个超集。•Microsoft提交的C++/CLI标准是基于标准C++与通用语言基础结构(CommonLanguageInfrastructure)结合的技术。222、基本数据类型4.2.2Windows编程基本概念2•参考教材P344表15-1•值类型、引用类型233、CLR动态数组•array数据类型^=gcnewarray数据类型(数组大小)•如:arrayint^data=gcnewarrayint(5);•其中^代表用来声明引用类型的对象,其正式名称是”追踪句柄“(通常称帽子”),意义是强调引用类型使用CLR的堆,能通过垃圾收集机制进行回收。4.2.2Windows编程基本概念3•利用array来声明数组,语法如下:24数组的例子•usingnamespaceSystem;•intmain(arraySystem::String^^args)•{•arrayint^data=gcnewarrayint(10);•for(inti=0;idata-Length;i++)•{•data[i]=i*i;•}•foreach(intitemindata)•{•item=item*2;•Console::Write({0,5},item);•}•return0;•}创建一个CLR控制台应用程序:25•C++/CLI中使用gcnew关键字表示在托管堆上分配内存,并且为了与以前的指针区分,用^来替换*,就语义上来说他们的区别大致如下:•1.gcnew返回的是一个句柄(Handle),而new返回的是实际的内存地址.•2.gcnew创建的对象由虚拟机托管,而new创建的对象必须自己来管理和释放.264、C++/CLI定义类•语法:refclass类名称{...};•例子:•refclassSquare{•public:•intwidth,height;•intArea();•}•intSquare::Area(){•returnheight*width;•}274.2.3Windows的程序设计方法4.2.3Windows的程序设计方法1、使用APIAPI:ApplicationProgrammingInterface,即应用程序编程接口,他是windows操作系统提供给程序员的函数库。该方法也称为SDK程序设计方法。SDK的全称是SoftwareDevelopmentKit,即软件开发工具包的意思。如:调用API函数ShowWindow(hwnd,nCmdShow);显示窗口28定义Win系统各种特殊函数及数据结构;包含上千个可调用系统功能的标准API函数;实现应用程序与Windows系统间的标准程序接口。(1)应用程序接口API(2)API函数实现三种功能窗口管理函数——窗口的创建、移动和修改:图形设备(GDI)函数——与设备无关的图形操作系统服务函数——与操作系统有关的多种服务。4.2.3Windows的程序设计方法2关于API:294.2.3Windows的程序设计方法32、使用MFC(MicrosoftFoundationClass)MFC类库集成了大量已预先定义好的类,用户可以根据编程的需要使用相应的类,或根据需要自定义已有的类。编程时使用应用程序向导产生一个初始的应用程序框架,在这个应用程序框架的基础上扩充直至符合自己的需要。30MFC类库含有大量已定义好的类(class),可根据编程的需要,调用相应的类,或自定义有关的类实现可视化交互开发方式选择所需对象并确定其属性,搭建起应用程序的“大框架”;编写必要的细节代码段,构成完整的应用程序。关于MFC的可视化编程4.2.3Windows的程序设计方法4313、使用CLR(CommonLanguageRuntime)CLR是公共语言运行时,CommonLanguageRuntime)和Java虚拟机一样也是一个运行时环境,它负责资源管理(内存分配和垃圾收集),并保证应用和底层操作系统之间必要的分离。CLRWindowsForms,这是一种基于窗体的开发机制,用于创建在CLR下运行的应用程序。32窗口(Window)事件驱动(Event-driven)句柄(Handl)消息(Message)利用API函数和MFC类库编写Windows应用程序,都必须了解下列有关概念:4.2.4Windows编程特点4.2.4Windows编程特点334.2.4Windows编程特点21、由窗口组成的用户界面•用户界面由各种大大小小的窗口组成•各种窗口都有它自己的样式、消息和功能。窗口的属性在创建窗口的时候指定。2、通过响应各种消息来进行事件的处理windows程序在一个循环里不断等待系统或用户消息,并在取得消息后转向对应的消息处理函数执行(一)、Windows程序特点:344.2.4Windows编程特点33、消息应用程序利用消息与系统及其它应用程序进行信息交换。消息的分类:•硬件产生的消息(鼠标、键盘),这类消息放于系统的消息队列里面;•应用程序内部消息,如窗口的创建、移动或改变大小消息,刷新窗口的消息等。这些消息放在应用程序的消息队列里面;35•窗口管理消息•初始化消息•输入消息•系统消息•剪贴板消息•控制处理消息•控件通知消息•滚动条通知消息•非用户区消息•MDI消息•DDE消息•应用程序自定义的消息4、Windows编程常用消息4.2.4Windows编程特点436•事件——一种情况或一种活动的发生、或一种指定状态的变化,例如,按下鼠标或键盘的键。(二)、有关事件驱动的概念•事件驱动编程方法•针对事件或消息的处理进行;•适于编写交互式程序。•事件驱动——是由描述事件发生的信息,即消息驱动Win程序的执行。•程序的执取决于事件发生的顺序;•消息的产生并不要求有次序之分。4.2.4Windows编程特点537(三)、有关句柄(handle)的概念•句柄——用于标识不同的对象和同类对象中不同的实例的标识符。•句柄类似为指针,因为一个资源调入后会占用一块内存,句柄用于存放资源所在内存的地址。•句柄是处理对象的一个接口,对于程序中所涉及的对象,你可以通过句柄去操作它。•typedefvoid*HANDLE;4.2.2Windows编程基本概念3•句柄是Win应用程序编程的基础。应用程序以句柄访问相应的对象信息。384.3CLR的WindowsForm基本概念•1、创建WindowsForm•在课堂上演示创建WindowsForm的过程,使用教材P347-357的例子讲解用户界面的创建方法。39•2、界面元素的设置•演示按钮、标签和编辑框的属性设置。•3、事件处理的概念•4、事件处理程序和编程•演示按钮点击事件的编程。40上机练习•1、编制一个简单的WindowsForm程序。•窗体上包含:2个标签、3个文本框和两个按钮。•要求:做加法运算。
本文标题:VC++程序设计12(VC开发环境与Windows编程基础)
链接地址:https://www.777doc.com/doc-3383004 .html