📄 book_text4.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0062)http://www1.ustc.edu.cn/personal/csli/insidec++/book_text4.htm -->
<HTML><HEAD><TITLE>Visual C++</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2900.2995" name=GENERATOR>
<META content=FrontPage.Editor.Document name=ProgId><LINK
href="book_text4.files/style.css" type=text/css rel=stylesheet></HEAD>
<BODY bgColor=#f7fbff leftMargin=0 topMargin=0>
<TABLE height=1150 cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD width="3%" background=book_text4.files/page_side.gif height=1150> </TD>
<TD vAlign=top align=middle width="97%" height=1150>
<P
style="mso-line-height-alt: 1.3pt; tab-stops: right dotted 402.1pt"><SPAN
lang=EN-US
style="FONT-SIZE: 10.5pt; mso-bidi-font-size: 10.0pt"></O:P></SPAN></P>
<TABLE height=1 width="99%" border=0>
<TBODY>
<TR>
<TD width="2%" height=29></TD>
<TD width="95%" height=29><PRE><A name=_Toc419881617><SPAN style="mso-bookmark: _Toc419740435">一 </SPAN></A><SPAN style="mso-bookmark: _Toc419740435"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">走进</SPAN><SPAN lang=EN-US>Visual C++</SPAN></SPAN></PRE></TD>
<TD width="3%" height=29></TD></TR>
<TR>
<TD width="2%" height=15></TD>
<TD width="95%" height=15><B><FONT color=#0000ff><SPAN lang=EN-US
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">VC</SPAN><SPAN
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'">集成环境中的一个重要工具</SPAN><SPAN
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: Times New Roman"> </SPAN><SPAN
lang=EN-US
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">CLASSWIZARD</SPAN></FONT></B>
<P><SPAN
style="FONT-SIZE: 10.5pt; mso-bidi-font-size: 10.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"> 接下来介绍VC集成环境中提供的一个很重要的工具CLASSWIZARD,它主要是用来管理程序中的对象和消息的,这个工具对于MFC编程显得尤为重要。
单击VIEW菜单的CLASSWIZARD项,就可以运行MFC
CLASSWIZARD,在这个对话框中就可以对程序中的对象和消息进行管理了。</SPAN> </P>
<P align=center><SPAN
style="FONT-SIZE: 10.5pt; mso-bidi-font-size: 10.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><IMG
height=258 src="book_text4.files/book_t10.jpg" width=392
border=0><BR>图1.10</SPAN></P>
<P align=left><SPAN
style="FONT-SIZE: 10.5pt; mso-bidi-font-size: 10.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"> 在对话框中的MESSAGE
MAPS标签下:<BR> PROJECT 栏中的内容代表当前程序的名字<BR> CLASSWNAME 下拉列表框列出的就是程序当前用到的所有类的名字<BR> MESSAGE 一栏中列出的就是一个选中的类所能接收到的所有的消息<BR> Member
function 为 MESSAGE 所对应的消息响应成员函数</SPAN></P>
<P align=left><SPAN
style="FONT-SIZE: 10.5pt; mso-bidi-font-size: 10.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"> 在WINDOWS程序设计中,消息是个极为重要的概念,用户通过窗口界面的各种操作最后都转化为发送到程序中的对象的各种消息,下面就向您介绍在WINDOWS程序设计中最常用的一些消息:</SPAN></P>
<P align=left><SPAN
style="FONT-SIZE: 10.5pt; mso-bidi-font-size: 10.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><FONT
color=#ff0000>1
窗口消息:</FONT>WM_CREATE,WM_DESTROY,WM_CLOSE<BR>我们创建一个窗口对象的时候,这个窗口对象在创建过程中收到的就是WM_CREATE消息,对这个消息的处理过程一般用来设置一些显示窗口前的初始化工作,如设置窗口的大小,背景颜色等,WM_DESTROY消息指示窗口即将要被撤消,在这个消息处理过程中,我们就可以做窗口撤消前的一些工作。WM_CLOSE
wm_close消息发生在窗口将要被关闭之前,在收到这个消息后,一般性的操作是回收所有分配给这个窗口的各种资源。在windows系统中资源是很有限的,所以回收资源的工作还是非常重要的。</SPAN></P>
<P align=left><SPAN
style="FONT-SIZE: 10.5pt; mso-bidi-font-size: 10.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><FONT
color=#ff0000>2
键盘消息:</FONT>WM_CHAR,WM_KEYDOWN,WM_KEYUP<BR>这三个消息用来处理用户的键盘数据,当用户在键盘上按下某个键的时候,会产生WM_KEYDOWN消息,释放按键的时候又回产生WM_KEYUP消息,所以WM_KEYDOWN与WM_KEYUP消息一般总是成对出现的,至于WM_CHAR消息是在用户的键盘输入能产生有效的ASCII码时才会发生。这里特别提醒要注意前两个消息与WM_CHAR消息在使用上是有区别的。在前两个消息中,伴随消息传递的是按键的虚拟键码,所以这两个消息可以处理非打印字符,如方向键,功能键等。而伴随WM_CHAR消息的参数是所按的键的ASCII码,ASCII码是可以区分字母的大小写的。而虚拟键码是不能区分大小写的。</SPAN></P>
<P align=left><SPAN
style="FONT-SIZE: 10.5pt; mso-bidi-font-size: 10.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><FONT
color=#ff0000>3 鼠标消息:</FONT>WM_MOUSEMOVE,WM_LBUTTONDOWN,
WM_LBUTTONUP, WM_LBUTTONDBCLICK,WM_RBUTTONDOWN,
WM_RBUTTONUP,WM_RBUTTONDBCLICK<BR>这组消息是与鼠标输入相关的,WM_MOUSEMOVE消息发生在鼠标移动的时候,剩余的六个消息则分别对应于鼠标左右键的按下、释放、双击事件,要指出的是WINDOWS系统并不是在鼠标每移动一个像素时都产生MOUSEMOVE消息,这一点要特别注意。</SPAN></P>
<P align=left><SPAN
style="FONT-SIZE: 10.5pt; mso-bidi-font-size: 10.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><FONT
color=#ff0000>4 另一组窗口消息:</FONT>WM_MOVE , WM_SIZE ,
WM_PAINT <BR>当窗口移动的时候产生WM_MOVE
消息,窗口的大小改变的时候产生WM_SIZE消息,而当窗口工作区中的内容需要重画的时候就会产生WM_PAINT消息。</SPAN></P>
<P align=left><SPAN
style="FONT-SIZE: 10.5pt; mso-bidi-font-size: 10.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><FONT
color=#ff0000>5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -