欢迎来到天天文库
浏览记录
ID:40226253
大小:703.00 KB
页数:183页
时间:2019-07-27
《VC++程序设计2013(2)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、主要学习内容:文本输出绘图用户界面编程位图(图像)应用动态链接库如果可能:vc与matlab混合编程第一章:VC++编程基础一、初识vc++1、第一个vc++程序(1)vc++6.0集成开发环境介绍(IDE)标题栏菜单栏工具栏工作区窗口源代码窗口输出窗口状态栏(2)用框架文件编辑器创建应用程序框架框架文件编辑器AppWizard过程。。。。。(3)程序介绍平台可视,程序所包含的编辑器、浏览器、编译器、连接器、调试器等全部可视资源集成,诸多最基本的Resource如菜单等不需编程直接可进行编辑方便的类创建和管理,封装了窗口函数、消息
2、、控件、菜单、对话框、图形设置接口等。2、第一个程序编译、链接和执行情况。3、在程序中创建接口对象(用户如何控制程序,比如用菜单、对话框等)4、添加消息处理代码MessageBox(“hello,howareyou!”)基于事件驱动的程序模型二、vc++的工作机制简介1、Windows消息机制(1).消息来源Windows应用程序的消息来源有以下四种:(1)输入消息:包括键盘和鼠标的输入。(2)控制消息:用来与Windows的控制对象,如列表框、按钮、检查框等进行双向通信。(3)系统消息:对程序化的事件或系统时钟中断作出反应。(4
3、)用户消息:这是程序员自己定义并在应用程序中主动发出的,一般由应用程序的某一部分内部处理。VC++中存在几种系统定义的消息分类,不同的前缀符号经常用于识别不同的消息类,系统定义的消息宏前缀如下:lBM:按钮控制消息;lCB:组合框控制消息;lDM:默认下压式按钮控制消息;lEM:编辑控制消息;lLB:列表框控制消息;lSBM:滚动条控制消息;lWM:窗口控制消息。1.2理解Windows消息机制1、消息的组成:一个消息由一个消息名称(UINT),和两个参数(WPARAM,LPARAM)。当用户进行了输入或是窗口的状态发生改变时系统
4、都会发送消息到某一个窗口。2、谁将收到消息:一个消息必须由一个窗口接收。在窗口的过程(WNDPROC)中可以对消息进行分析,对自己感兴趣的消息进行处理。例如你希望对菜单选择进行处理那么你可以定义对WM_COMMAND进行处理的代码,如果希望在窗口中进行图形输出就必须对WM_PAINT进行处理。3、未处理的消息到那里去了:M$为窗口编写了默认的窗口过程,这个窗口过程将负责处理那些你不处理消息。正因为有了这个默认窗口过程我们才可以利用Windows的窗口进行开发而不必过多关注窗口各种消息的处理(有消息处理机制)。例如窗口在被拖动时会有
5、很多消息发送,而我们都可以不予理睬让系统自己去处理。4、窗口句柄:说到消息就不能不说窗口句柄,系统通过窗口句柄来在整个系统中唯一标识一个窗口,发送一个消息时必须指定一个窗口句柄表明该消息由那个窗口接收。而每个窗口都会有自己的窗口过程,所以用户的输入就会被正确的处理。例如有两个窗口共用一个窗口过程代码,你在窗口一上按下鼠标时消息就会通过窗口一的句柄被发送到窗口一而不是窗口二。1.2理解Windows消息机制什么是消息机制:系统将会维护一个或多个消息队列,所有产生的消息都回被放入或是插入队列中。系统会在队列中取出每一条消息,根据消息的
6、接收句柄而将该消息发送给拥有该窗口的程序的消息循环。1.2理解Windows消息机制每一个运行的程序都有自己的消息循环,在循环中得到属于自己的消息并根据接收窗口的句柄调用相应的窗口过程。而在没有消息时消息循环就将控制权交给系统所以Windows可以同时进行多个任务。下面的伪代码演示了消息循环的用法:while(1){id=getMessage(...);if(id==quit)break;translateMessage(...);}当该程序没有消息通知时getMessage就不会返回,也就不会占用系统的CPU时间。Windows
7、程序和消息的基本流程2.消息的数据结构消息的数据结构MSG的定义如下:typedefstructtagMSG{HWNDhwnd;//用以检索消息的窗口句柄,如为NULL,//则可以检索所有驻留在消息队列中的消息UINTmessage;//消息值WPARAMwParam;//包含有关消息的附加信息LPARAMlParam;//随不同的消息而有所不同DWORDtime;//消息送到队列的时间POINTpt;//消息发送时,屏幕光标的位置}MSG;其中:typedefstructtagPOINT{LONGx,y;}POINT;3.消息队
8、列支持队列特征的消息驱动模型如图所示。图支持队列特征的消息驱动模型4.常用消息Windows程序常用的消息有:WM_LBUTTONDOWN:单击鼠标左键时产生的消息;WM_LBUTTONUP:放开鼠标左键时产生的消息;WM_RBUTTONDOWN:
此文档下载收益归作者所有