如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
Windows程序设计初步一.Windows系统的特征二.基本术语二.基本术语(续)三.Windows编程的特点过程1事件消息消息的表示消息的定义消息的种类…vc\include\winuser.h标准的Windows消息可以分为三类,即键盘消息、鼠标消息和窗口消息。下面分别加以说明。键盘消息当键盘的某个键被按下时,将产生WM_CHAR消息,这个消息带有字符代码值、重复次数和先前状态码三个参数。WM_CHAR消息的处理函数为OnChar(),此函数的原型为:afx_msgvoidOnchar(UINTnChar,UINTnRepCnt,UINTnFlags);其中:nChar是所按键的字符代码值;nRepCnt是重复的次数,它表示用户按键时重复击键的次数;nFlags表示扫描码、先前键状态和键转换状态等,其参数值功能描述见表4.1所示。鼠标消息在Windows中处理鼠标的操作基本上有三种:单击(Click)2.双击(DoubleClick)3.拖动(Drag)所有这些鼠标的操作,都会产生相应的消息。鼠标移动时产生WM_MOUSEMOVE消息,鼠标左键按下时产生WM_LBUTTONDOWN消息,鼠标右键按下时产生WM_RBUTTONDOWN消息,鼠标左键双击时产生WM_LBOTTONDBLCLK消息等等。所有这些鼠标消息的处理函数都有相似的原型,它们都有两个参数。我们以处理鼠标左键按下的消息函数OnLButtonDown()为例来进行说明。此函数的原型如下:afx_msgvoidOnLButtonDown(UINTnFlags,Cpointpoint);其中:参数point是鼠标事件发生时鼠标光标所在的位置,它是相对于窗口左上角的水平坐标和垂直坐标而言的。参数nFlag指明鼠标按钮的状态以及鼠标事件发生时键盘上某些键的状态,每一状态都可以由nFlag的一位来表示。我们可以从表4.2中所列的位屏蔽中得到每一位。4.2nFlags参数每位的含义其中,MK_CONTROL、MK_LBUTTON、MK_MBUTTON、MK_MBUTTON、MK_RBUTTON和MK_SHIFT都是预定义的宏。窗口消息所有窗口的变化,包括窗口内容重绘WM_PAINT、窗口最大化WM_MAXIMIZE、窗口最小化WM_MINIMIZE、窗口重定义大小WM_RESIZE、窗口滚动WM_HSCROLL、WM_VSCROLL、窗口定时WM_TIMER等消息所带参数各不相同。在这里我们来详细讨论一下WM_PAINT消息。当调用成员函数UpdateWindow()或RedrawWindow()要求重新绘制窗口内容时,应用程序将收到WM_PAINT消息。当窗口最小化后再还原或被其他窗口遮盖后又重新显示时,则当前窗口中的内容必须重新绘制,消息WM_PAINT就是为实现这个功能的。当向Windows应用程序发送WM_PAINT消息,应用程序检索到此消息后,就重新显示窗口中的内容。WM_PAINT消息的处理函数为OnPaint()。函数原型为:afx_msgvoidOnPaint();如果想详细了解所有的标准的Windows消息,可以参阅VisualC++6.0联机帮助中的有关内容。4.4.2控件消息控件是一个小的子窗口,属于其他窗口(如对话框等),能够接受操作并象父窗口发送消息。常见的控件有按钮、列表框、编辑框、复合框、滚动条等。在VisualC++6.0中,对控件的操作都是通过生成相应的控件类来进行。这些控件类仅能发送少量特定的消息,这些消息就叫做控件消息。发送控件消息的控件在VisualC++中使用唯一ID号来进行标识,使用控件类来操纵。控件消息分为两类:1.从控件传给消息,通常这类消息的前缀的最后一个字符为N;2.由系统发送给控件的消息,这类消息的前缀的最后一个字符为M。例如,当用户对编辑框中的文本进行修改时,编辑框将发送给父窗口一条包含控件通知码EN_CHANGE的WM_COMMAND消息。窗口的消息处理函数将以某种适当的方式对通知消息作出响应,如检索编辑框中的文本。与其他标准的Windows消息一样,控件消息也是由窗口对象和视图对象进行处理。命令消息命令消息主要包括由用户界面对象发送的M_COMMAND消息,用户界面对象是指菜单、工具栏、快捷键等。它和控件消息的区别在于:控件消息只能由特定控件向Windows系统传送,而命令消息是由用户界面发送的,它可以被更多的对象处理。在文档对象、视图对象、窗体对象、控件对象中都能处理这种消息。1.用户界面对象菜单、工具栏、快捷键等都是可以产生命令的用户界面对象。每个这样的对象都分配了一个ID号,通过给对象和命令分配同一个ID号,将用户界面对象和命令