版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、冯筠:VC+图像编程VC+图像编程图像编程-面向对象编程基础面向对象编程基础西北大学信息学院西北大学信息学院冯筠冯筠 2009年年8月月冯筠:VC+图像编程1.1 回顾OOP1.2 OOP技术特征1.3 C+基本内容1.4 Windows程序基本运行原理面向对象编程基础面向对象编程基础冯筠:VC+图像编程1.1 回顾回顾OOP冯筠:VC+图像编程面向对象的程序设计面向对象的程序设计OOPObject Oriented Programming什么是面向对象?什么是面向对象?1.1 回顾回顾OOP冯筠:VC+图像编程对象的概念对象的概念具有一个名字来标识具有一个名字来标识带有自身的状态带有自身的状
2、态具有自身的功能具有自身的功能对象对象1.1 回顾回顾OOP冯筠:VC+图像编程对象的概念对象的概念具有一个具有一个名字名字来标识来标识带有自身的状态带有自身的状态具有自身的功能具有自身的功能对象对象比尔盖茨比尔盖茨1.1 回顾回顾OOP冯筠:VC+图像编程对象的概念对象的概念具有一个具有一个名字名字来标识来标识带有自身的带有自身的状态状态具有自身的功能具有自身的功能对象对象400400亿美元亿美元属属 性性1.1 回顾回顾OOP冯筠:VC+图像编程对象的概念对象的概念具有一个具有一个名字名字来标识来标识带有自身的带有自身的状态状态具有自身的具有自身的功能功能对象对象微软微软CEOCEO行行
3、为为1.1 回顾回顾OOP冯筠:VC+图像编程对象是什么?对象是什么?对象是包含现实世界物体特征的抽象对象是包含现实世界物体特征的抽象实体实体,反,反映了系统为之保存信息和(或)与之交互的能映了系统为之保存信息和(或)与之交互的能力。力。对象对象=数据数据+作用于这些数据上的操作作用于这些数据上的操作(行为行为) =属性属性(Attribute)+方法方法(Method)消息消息(Message) :函数调用(时机):函数调用(时机)消息是向某对象请求服务的一种表达方式。消息是向某对象请求服务的一种表达方式。对象之间通过传递消息来实现相互的通信。对象之间通过传递消息来实现相互的通信。1.1 回
4、顾回顾OOP冯筠:VC+图像编程对象对象(Object)(Object)是是OOPOOP技术最重要的性质之技术最重要的性质之一,是类一,是类(class)(class)的的实例实例(instance)(instance)。实例化实例化人人类类Jack举 例1.1 回顾回顾OOP冯筠:VC+图像编程类的概念类的概念类的定义 类类( (ClassClass) )就是从现实世界抽象出来的模型,就是从现实世界抽象出来的模型,它表征群体的特征。它表征群体的特征。类的特征 抽象抽象( (AbstractionAbstraction) )是指具体群体一般化的是指具体群体一般化的过程。过程。 封装(封装(En
5、capsulationEncapsulation)把群体的特定属性)把群体的特定属性和行为特征建立一个研究模型。和行为特征建立一个研究模型。1.1 回顾回顾OOP冯筠:VC+图像编程1.1 回顾回顾OOP冯筠:VC+图像编程类的特性类的特性 封装性封装性 继承性继承性 多态性多态性面向对象的三大特性1.1 回顾回顾OOP冯筠:VC+图像编程类的特性类的特性 封装性封装性 继承性继承性 多态性多态性面向对象的三大特性数据和操作结合一体程序结构紧凑增强软件安全性、可靠性1.1 回顾回顾OOP冯筠:VC+图像编程类的特性类的特性 封装性封装性 继承性继承性 多态性多态性面向对象的三大特性数据和操作结
6、合一体程序结构紧凑增强软件安全性、可靠性增强软件可扩充性代码的重用和维护1.1 回顾回顾OOP冯筠:VC+图像编程类的特性类的特性 封装性封装性 继承性继承性 多态性多态性面向对象的三大特性数据和操作结合一体程序结构紧凑增强软件安全性、可靠性增强软件可扩充性代码的重用和维护对问题更好的抽象代码的重用性代码的维护性1.1 回顾回顾OOP冯筠:VC+图像编程回顾了回顾了OOP概概念念对象与类对象与类OOP设计思想设计思想封装性封装性继承性继承性多态性多态性名词解释名词解释 (建议熟记建议熟记)对象对象Object类类Class实例实例InstanceOOPObject Oriented Progr
7、amming抽象抽象Abstraction封装封装Encapsulation派生派生Deriving继承继承Inheritance多态多态Polymophism1.1 回顾回顾OOP小结小结冯筠:VC+图像编程1.2 OOP技术特征技术特征冯筠:VC+图像编程 类的封装与隐藏class class WhoAmIWhoAmI publicpublic: : void GetMyName(void void GetMyName(void); /); /名字是可以公开的名字是可以公开的 protectedprotected: : void GetMyAsset(void void GetMyAsse
8、t(void); ); / /财产是受保护的,只有我和继承者可以使用财产是受保护的,只有我和继承者可以使用 privateprivate: : void GetMyGuilty(void void GetMyGuilty(void); ); / /罪过是要保密的,只有我自己才能偷看罪过是要保密的,只有我自己才能偷看 ;1.2 OOP技术特征技术特征冯筠:VC+图像编程派生派生( (DerivingDeriving) )是指从是指从基本类导出子类的过程。基本类导出子类的过程。继承继承( (InheritanceInheritance) )是指是指一对象获取另一对象性一对象获取另一对象性质的过程。
9、质的过程。派生与继承派生与继承人人类类举 例男男人人类类1.2 OOP技术特征技术特征冯筠:VC+图像编程派生与继承派生与继承人人类类举 例男男人人类类class class HumanHuman ;class class ManMan : public Human : public Human;class class BoyBoy : public Man : public Man;男男孩孩类类再继承再继承1.2 OOP技术特征技术特征冯筠:VC+图像编程继承举例继承举例class A public:void Func1(void);void Func2(void);class B : pu
10、blic A public:void Func3(void);void Func4(void);1.2 OOP技术特征技术特征冯筠:VC+图像编程组合的概念组合的概念若在逻辑上若在逻辑上A是是B的的“一部分一部分”(a part of),),则不允许则不允许B从从A派生,而是要用派生,而是要用A和其它东西组和其它东西组合出合出B。1423earmouthnoseeye1.2 OOP技术特征技术特征冯筠:VC+图像编程同一个消息为不同的对象同一个消息为不同的对象所接受时,会导致完全不所接受时,会导致完全不同的行为,这种现象称作同的行为,这种现象称作多态性多态性( (PolymophismPoly
11、mophism),),实现同一实现同一接口接口,多种方法。,多种方法。鸟鸟 类类举 例我们都我们都在在Fly?可提高程序设计的灵活性,可提高程序设计的灵活性,而且减少了类体系使用者而且减少了类体系使用者的记忆负担。的记忆负担。但是我但是我们的们的Fly好像有好像有什么不什么不一样?一样?1.2 OOP技术特征技术特征冯筠:VC+图像编程鸟鸟 类类举 例我也能我也能Fly?class class BirdBird public: public: virtual void virtual void Fly(voidFly(void) ); ; / /鸟能飞行鸟能飞行 ;/鸵鸟也是鸟的一种鸵鸟也是鸟
12、的一种class class OstrichOstrich : public Bird : public Bird public: public: virtual void virtual void Fly(voidFly(void) ); ; / /如何让鸵鸟飞起来?如何让鸵鸟飞起来? ;Look!我我Fly*$.!1.2 OOP技术特征技术特征冯筠:VC+图像编程面向对象设计思想面向对象设计思想本 质精 髓把数据和处理数据的过把数据和处理数据的过程程( (行为或方法行为或方法) )当成一当成一个整体个整体对象对象。为了使计算机更加真实为了使计算机更加真实的模拟现实世界,更接的模拟现实世界,
13、更接近于近于人人的思维方式。的思维方式。面向对象程序面向对象程序(OOP) = (OOP) = (对象对象 + + 对象对象 + )+ )对象对象(Object) = (Object) = (算法算法 + + 数据结构数据结构) )1.2 OOP技术特征技术特征冯筠:VC+图像编程OOP技术的特征技术的特征1. 1. 尽量逼真地模拟尽量逼真地模拟客观世界及其事物客观世界及其事物2.2.再现人类认识事物再现人类认识事物的思维方式和解决问的思维方式和解决问题的工作方式题的工作方式3.3.软件工程思想更完满软件工程思想更完满的体现的体现1.2 OOP技术特征技术特征冯筠:VC+图像编程OOP技术的特
14、征技术的特征1. 1. 尽量逼真地模拟尽量逼真地模拟客观世界及其事物客观世界及其事物2.2.再现人类认识事物再现人类认识事物的思维方式和解决问的思维方式和解决问题的工作方式题的工作方式3.3.软件工程思想更完满软件工程思想更完满的体现的体现1.2 OOP技术特征技术特征冯筠:VC+图像编程OOP技术的特征技术的特征2.2.再现人类认识事物再现人类认识事物的思维方式和解决问的思维方式和解决问题的工作方式题的工作方式3.3.软件工程思想更完满软件工程思想更完满的体现的体现人类思维机器思维归纳方式演绎方式子类机制继承机制1.2 OOP技术特征技术特征冯筠:VC+图像编程OOP技术的特征技术的特征2.
15、2.再现人类认识事物再现人类认识事物的思维方式和解决问的思维方式和解决问题的工作方式题的工作方式3.3.软件工程思想更完满软件工程思想更完满的体现的体现软件工程的三个基本思想模 块 化信息隐藏类和对象对象内部状态和实现细节的不可见性数据抽象类1.2 OOP技术特征技术特征冯筠:VC+图像编程OOP技术的终极目标技术的终极目标OOP所追求的目标将软件世界上将软件世界上的问题求解尽的问题求解尽可能简单化!可能简单化!1.2 OOP技术特征技术特征冯筠:VC+图像编程1.3 C+基本内容基本内容冯筠:VC+图像编程程序结构程序结构多文件结构多文件结构类声明类声明(.h)与类定义与类定义(.cpp)头
16、文件的作用头文件的作用避免重复编译避免重复编译易于维护、调试易于维护、调试功能划分,程序脉络清晰功能划分,程序脉络清晰1.3 C+基本内容基本内容冯筠:VC+图像编程注意事项注意事项内存分配内存分配代码、全局、代码、全局、栈区栈区和和堆区堆区(动态分配动态分配)Clock *b=new Clock;delete b;/delete b;/deleteb0;include 与与include “”区别区别条件预编译:条件预编译:#denif#endif避免类的重复定义避免类的重复定义1.3 C+基本内容基本内容冯筠:VC+图像编程 输入输出流类的对象输入输出流类的对象: cin、cout和和ce
17、rr cincin与与一起完成输入操作,一起完成输入操作,coutcout、cerrcerr与与一起完成输出与标准错误输出。一起完成输出与标准错误输出。 利用利用cincin和和coutcout比比C C语言中的语言中的scanfscanf和和printfprintf要方便得多。要方便得多。1.3 C+基本内容基本内容冯筠:VC+图像编程 构造函数作 用运算符运算符newnew创建动态创建动态对象时会调用类中对象时会调用类中相应的相应的构造函数构造函数。class_name:class_name:class_nameclass_name(arg_list() function_body fun
18、ction_body; ; 定 义决定类对象如何创决定类对象如何创建、初始化、拷贝建、初始化、拷贝和撤消。和撤消。1.3 C+基本内容基本内容冯筠:VC+图像编程 构造函数1.3 C+基本内容基本内容冯筠:VC+图像编程 构造函数冯筠:VC+图像编程 析构函数作 用运算符运算符deletedelete结束动结束动态对象时会调用类中态对象时会调用类中相应的相应的析析构函数构函数。class_name:class_name:class_nameclass_name(arg_list() function_body function_body; ; 定 义决定类对象消除、决定类对象消除、回收、释放空
19、间。回收、释放空间。1.3 C+基本内容基本内容冯筠:VC+图像编程 析构函数 1.3 C+基本内容基本内容冯筠:VC+图像编程 析构函数1.3 C+基本内容基本内容冯筠:VC+图像编程 1.3 C+基本内容基本内容冯筠:VC+图像编程this指针指针1.3 C+基本内容基本内容冯筠:VC+图像编程 友元函数作 用friend typefriend type func_name(arg_list func_name() function_body function_body; ; 定 义解决封装性引解决封装性引起的不便。起的不便。1.3 C+基本内容基本内容冯筠:VC+图像编程 虚 函 数作
20、用virtual typevirtual type func_name(arg_list func_name() function_body function_body; ; 定 义一个虚函数就是在某基类中说一个虚函数就是在某基类中说明为明为virtualvirtual并在一个或多个并在一个或多个派生类中被重新定义的成员函派生类中被重新定义的成员函数。数。1.3 C+基本内容基本内容冯筠:VC+图像编程 虚 函 数virtual typevirtual type func_name(arg_list func_name() function_body function_body; ; 定 义一
21、个函数一旦被说明成虚函数,则无论一个函数一旦被说明成虚函数,则无论说明它的类被继承了多少层,在每一层说明它的类被继承了多少层,在每一层派生类中该函数都保持派生类中该函数都保持virtual特性。因此,特性。因此,在在派生类派生类中重新定义该函数,不再需要中重新定义该函数,不再需要关键字关键字virtual 。1.3 C+基本内容基本内容冯筠:VC+图像编程 虚 函 数virtual typevirtual type func_name(arg_list func_name() = ) = 0 0; ;补充说明虚函数为一个类体系中所有虚函数为一个类体系中所有子类的同一行为提供了统一子类的同一行为
22、提供了统一的接口,使得程序员在使用的接口,使得程序员在使用同一个类体系时,只需记住同一个类体系时,只需记住一个接口而不是多个接口一个接口而不是多个接口。有时在说明一个有时在说明一个基类无法为虚函基类无法为虚函数定义其具体的数定义其具体的实现,这时可说实现,这时可说明为明为纯虚函数纯虚函数。1.3 C+基本内容基本内容冯筠:VC+图像编程 虚函数举例举例说明ShapeShape2DShape3DRectangle(矩形)Circle(圆)Cube(立方体)Ellipse(椭圆)Cylinder(圆柱)Sphere(球)几何形状的类结构几何形状的类结构抽象基类抽象基类抽象类抽象类1.3 C+基本内
23、容基本内容冯筠:VC+图像编程函数的覆盖函数的覆盖 虚函数举例class class ShapeShape public: public: virtual void virtual void Draw(voidDraw(void) ) = 0; = 0; /Draw/Draw为纯虚函数为纯虚函数 ;class class RectangleRectangle : public Shape : public Shape public: public: virtual void virtual void Draw(voidDraw(void) ); ; /Draw/Draw为虚函数为虚函数 ;多态
24、性1.3 C+基本内容基本内容冯筠:VC+图像编程 作 用重新定义已有的重新定义已有的运算符,体现运算符,体现多多态性态性能能。type class_nametype class_name : : operatoroperator ( () function_body function_body; ; 重载的运重载的运算符算符 。1.3 C+基本内容基本内容冯筠:VC+图像编程C+编程规范编程规范 由于由于WindowsWindows程序一般很长程序一般很长, ,很容易忘记变量的含很容易忘记变量的含义。义。 微软利用一个约定叫做微软利用一个约定叫做匈牙利表示法匈牙利表示法(Hungarian
25、(Hungarian notation,notation,因因MicrosoftMicrosoft程序员程序员ClarlesClarles Simonyi Simonyi的国的国籍而命名籍而命名) )编程规范strName双峰标示双峰标示1.3 C+基本内容基本内容冯筠:VC+图像编程1.3 C+基本内容小结基本内容小结复习了复习了C+语言语言C+语言基础语言基础C+编译原理编译原理C+编程规范编程规范注意的问题点注意的问题点条件预编译条件预编译避免重复避免重复包含包含头文件头文件程序结构程序结构名词解释名词解释(建议熟记建议熟记)构造函数构造函数 Constructor析构函数析构函数 De
26、structor成员函数和成员变量成员函数和成员变量Member function/data member基类基类Base Class派生类派生类Derived Class虚函数虚函数Virtual function重载重载Overloading友员函数友员函数 Friend function冯筠:VC+图像编程1.4 Windows程序程序运行基本原理运行基本原理冯筠:VC+图像编程标准Win32应用程序窗口冯筠:VC+图像编程Win32程序介绍程序介绍控制台程序控制台程序(console)用用VC+写传统纯粹的写传统纯粹的C/C+“DOS-like”程序程序不涉及到不涉及到GUI(窗口、对
27、话框、控件窗口、对话框、控件)的的Win32程序程序基于基于GUI的的Win32程序程序(最常见最常见)可视化可视化的的GUI窗口窗口的的Win32程序。程序。冯筠:VC+图像编程 Win32程序的开发流程冯筠:VC+图像编程Win32程序举例程序举例例如:进入一个典型的例如:进入一个典型的Windows窗口窗口RUNcmd/commandexplorer冯筠:VC+图像编程Win32程序的程序的生命周期生命周期创建窗口过程创建窗口过程(MessageQueue消息队列消息队列)CreateWindowWM_CREATEWndProcInit程序运行过程程序运行过程GetMessageWM_Q
28、UITWhile(0)消息循环与消息响应过程消息循环与消息响应过程(WndProc窗口函数窗口函数)TranslateMessageDispatchMessageWndProc程序结束过程程序结束过程WM_CLOSEDefWindowProcDestroyWindowWM_DESTROYPostQuitMessageWM_QUITGetMessageReturn(0)冯筠:VC+图像编程 应用程序 操作系统 输入输出设备 消息队列 windows程序设计是种事件驱动方式的程序设计,主要基于消息的。当用户需要完成某种功能时,需要调用OS某种支持,然后OS将用户的需要包装成消息,并投入到消息队列中
29、,最后应用程序从消息队列中取走消息并进行响应。冯筠:VC+图像编程关于关于API在上页中,向下的箭头表示应用程序可以通知操作系统执行某个具体的动作,如操作系统能够控制声卡发出声音,但它并不知道应该何时发出何种声音,需要应用程序告诉操作系统该发出什么样的声音。这个关系好比有个机器人能够完成行走的功能,但是,如果人们不告诉它往哪个方向上走,机器人是不会主动行走的。这里的机器人就是操作系统,人们就是应用程序。冯筠:VC+图像编程关于关于API应用程序也是以函数调用的方式来通知操作系统执行相应的功能的。操作系统所能够完成的每一个特殊功能通常都有一个函数与其对应,也就是说,操作系统把它所能够完成的功能以
30、函数的形式提供给应用程序使用,应用程序对这些函数的调用就叫做系统调用,这些函数的集合就是Windows操作系统提供给应用程序编程的接口(Application Programming Interface),简称Windows API。如CreateWindow就是一个API函数,应用程序中调用这个函数,操作系统就会按照该函数提供的参数信息产生一个相应的窗口。冯筠:VC+图像编程消息及消息队列消息及消息队列 向上的箭头表示操作系统能够将输入设备的变化上传给应用程序。如用户在某个程序活动时按了一下键盘,操作系统马上能够感知到这一事件,并且能够知道用户按下的是哪一个键,操作系统并不决定对这一事件如何
31、作出反应,而是将这一事件转交给应用程序,由应用程序决定如何对这一事件作出反应。好比有个蚊子叮了我们一口,我们的神经末梢(相当于操作系统)马上感知到这一事件,并传递给了我们的大脑(相当于应用程序),我们的大脑最终决定如何对这一事件作出反应,如将蚊子赶走,或是将蚊子拍死。对事件作出反应的过程就是消息响应。冯筠:VC+图像编程消息及消息队列消息及消息队列 冯筠:VC+图像编程关于句柄关于句柄句柄句柄(HANDLEHANDLE),),资源的标识资源的标识。操作系统要管理和操作这些资源,都是通过句操作系统要管理和操作这些资源,都是通过句柄来找到对应的资源。按资源的类型,又可将柄来找到对应的资源。按资源的
32、类型,又可将句柄细分成图标句柄(句柄细分成图标句柄(HICONHICON),光标句柄),光标句柄(HCURSORHCURSOR),窗口句柄(),窗口句柄(HWNDHWND),应用程序实),应用程序实例句柄(例句柄(HINSTANCEHINSTANCE)等等各种类型的句柄。操)等等各种类型的句柄。操作系统给每一个窗口指定的一个作系统给每一个窗口指定的一个唯一的标识号唯一的标识号即即窗口句柄窗口句柄。 冯筠:VC+图像编程用户在窗口中某个位置点击mouse左键。Windows会获取消息:其中WPARAM中会含有屏幕位置信息,LPARAM中为鼠标操作的类型消息及消息队列消息及消息队列 根据消息来源的
33、不同,消息可分为以下根据消息来源的不同,消息可分为以下4 4类:类:u(1) (1) 输入消息输入消息u(2) (2) 控制消息控制消息u(3) (3) 系统消息系统消息u(4) (4) 用户消息用户消息WindowsWindows中消息中消息messagemessage为为6464位结构位结构messagemessage3232位位WPARAM WPARAM 3232位位LPARAM LPARAM 举例:举例:冯筠:VC+图像编程举例:举例: 用户在窗口中某个位置点击用户在窗口中某个位置点击mousemouse左键。左键。WindowsWindows会获会获取消息取消息: :其中其中WPAR
34、AMWPARAM中会含有屏幕位置信息,中会含有屏幕位置信息,LPARAMLPARAM中为鼠标操作的类型。中为鼠标操作的类型。消息及消息队列消息及消息队列 messagemessageWM_MOUSEMOVEWM_MOUSEMOVE(宏)(宏)WM_LBUTTONDOWNWM_LBUTTONDOWNWPARAM WPARAM 键盘键盘功能键功能键LPARAM LPARAM (x,y(x,y)=(9,1)=(9,1)(9,1)冯筠:VC+图像编程消息及消息队列消息及消息队列 冯筠:VC+图像编程 Win32程序的运行体系冯筠:VC+图像编程派送消息消息源1消息源2消息源n否程序开始程序结束捕获消息
35、处理消息是否退出消息是消息处理机制消息处理机制冯筠:VC+图像编程注意事项注意事项使用VC+编程除了良好的C基础外还需要掌握两方面:一,消息本身。不同消息所代表的用户操作和应用程序的状态。二,对于某个特定的消息来说,要让OS执行某个特定的功能去响应消息。冯筠:VC+图像编程WinMain函数函数Windows程序的程序的入口函数入口函数int WINAPI WinMain( HINSTANCE hInstance, /当前实例句柄当前实例句柄 HINSTANCE hPrevInstance, /先前实例句柄先前实例句柄,为,为NULL LPSTR lpCmdLine, /命令行指针命令行指针
36、int nCmdShow /窗口显示的状态窗口显示的状态 );说明:WinMain函数是Windows程序入口点函数,由OS调用,当OS启动应用程序的时候,WinMain函数的参数由OS传递的冯筠:VC+图像编程InitInstance冯筠:VC+图像编程窗口的创建窗口的创建创建一个完整的窗口创建一个完整的窗口需要经过下面四个操作步骤:需要经过下面四个操作步骤:设计一个窗口类;设计一个窗口类;如:如:WNDCLASS wndclsWNDCLASS wndcls; ;注册窗口类;注册窗口类; 如:如:RegisterClass(&wndclsRegisterClass(&wndc
37、ls););创建窗口;创建窗口; 如:如:CreateWindow(),CreateWindowEXCreateWindow(),CreateWindowEX();();显示及更新窗口。显示及更新窗口。如:如:ShowWindow(),UpdateWindowShowWindow(),UpdateWindow();();说明:说明:创建窗口的时候一定要基于已经创建窗口的时候一定要基于已经注册注册的窗口类的窗口类 冯筠:VC+图像编程设计窗口类设计窗口类typedef struct _WNDCLASS UINT style; /窗口的类型 WNDPROClpfnWndProc; /窗口过程函数指
38、针(回调函数) int cbClsExtra; /窗口类附加字节,为该类窗口所共享。通常0 int cbWndExtra; /窗口附加字节。通常设为0 HANDLE hInstance; /当前应用程序事例句柄 HICON hIcon; /图标句柄 LoadIcon() HCURSOR hCursor; /光标句柄 LoadCursor() HBRUSH hbrBackground; /画刷句柄 (HBRUSH)GetStockObject() LPCTSTR lpszMenuName; /菜单名字 LPCTSTR lpszClassName; /类的名字 WNDCLASS; 冯筠:VC+图像
39、编程保护数据窗口类注册窗口类注册 ATOM RegisterClass( CONST WNDCLASS *lpWndClass / address of structure with class data); 冯筠:VC+图像编程创建窗口创建窗口HWND CreateWindow( LPCTSTR lpClassName, / pointer to registered class name LPCTSTR lpWindowName, / pointer to window name DWORD dwStyle, / window style int x, / horizontal posit
40、ion of window int y, / vertical position of window int nWidth, / window width int nHeight, / window height HWND hWndParent, / handle to parent or owner window HMENU hMenu, / handle to menu or child-window identifier HANDLE hInstance, / handle to application instance LPVOID lpParam / pointer to windo
41、w-creation data); 冯筠:VC+图像编程显示和更新窗口显示和更新窗口BOOL ShowWindow( HWND hWnd, / handle to window int nCmdShow / show state of window);BOOL UpdateWindow( HWND hWnd / handle of window); 冯筠:VC+图像编程消息循环消息循环MSG msg;while(GetMessage(&msg,.) /从消息队列中取出一条消息 TranslateMessage(&msg); /进行消息(如键盘消息)转换 DispatchMessage(&msg); /分派消息到窗口的回调函数处理,/(OS调用窗口回调函数进行处理) 冯筠:VC+图像编程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生产车间安全检查与隐患排除清单
- 单位未来合作支持承诺函5篇范文
- 员工学习发展与职业前进承诺书9篇范文
- 企业环境责任执行承诺书(5篇)
- 企业沟通手册与会议组织指南
- 食品饮料企业供应链管理与优化方案指南
- 二氧化硫传感器技术合作研发合同协议合同二篇
- 境外合作协定执行承诺书3篇范文
- 公共场所拥挤人群管理与安全疏散预案
- 汽车维修技师新能源电池检测规范操作指南
- 汽车整车装配与调试课件:汽车保险杠的装配一
- 养老院食堂从业人员健康管理制度
- 喉罩胸交感神经切断课件
- 捉弄混声合唱简谱
- 打造高效团队售前技术支持工作计划的制定与实施
- 2025年抚顺辅警考试题库(附答案)
- (正式版)DB65∕T 3735-2015 《生态健康果园 枣栽培技术规程》
- 自然分娩的好处
- 2024年血站采血护士考试试题(附答案)
- 中国南水北调集团水网发展研究有限公司(渤海公司)招聘笔试题库2025
- 2025江苏苏州工业园区管委会招聘33人笔试历年参考题库附带答案详解
评论
0/150
提交评论