这里我们编写一个程序,达到的运行效果是,当客户通过键盘输入字符时,即会在视图窗口输出显示,按下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购买已下架