C学习笔记WMCHAR消息响应和按

这里我们编写一个程序,达到的运行效果是,当客户通过键盘输入字符时,即会在视图窗口输出显示,按下Enter键,将换行出行。

首先打开编程软件,点击新建一个MFCAppWizard[exe]工程,如下所示:

2.通过“建立类向导”添加ON_WM_CHAR消息映射宏和OnChar()消息处理函数。如下所示:

添加之前,首先查看abcView.cpp文件,因为我们通过“建立类向导”添加ON_WM_CHAR消息映射宏和OnChar()消息处理函数后,会在abcView.cpp文件里面自动添加一些程序。

3.在视图类CabcView的头文件“abcView.h中定义CPoint型变量,用于记录字符在视图窗口中的输出位置,如下所示:

备注:

CPoint类

类CPoint是对Windows结构POINT的封装,凡是能用POINT结构的地方都可以用CPoint代替。

结构POINT表示屏幕上的一个二维点,其定义为:

typedefstructtagPOINT{

LONGx;

LONGy;

}POINT;

4.在CabcView类的结构函数中初始化ptCharacter位置为(0,0),如下所示:

5.然后在WM_CHAR消息响应函数OnChar()中,添加如下代码:

if(nChar==13)

{

ptCharacter.x=0;

ptCharacter.y=ptCharacter.y+25;

}

else

{

CClientDCdc(this);

dc.TextOut(ptCharacter.x,ptCharacter.y,(LPCTSTR)nChar);//输出按键字符

CSizetextsize;

textsize=dc.GetTextExtent((LPCTSTR)nChar);//获取当前字符大小

ptCharacter.x=ptCharacter.x+textsize.cx;

}

然后编译运行一下效果如下所示:

零基础学VisualC++京东¥51.16购买已下架


转载请注明:http://www.aierlanlan.com/tzrz/3567.html