当按下一个可显示的字符(数字,字母,标点等)的键时,除了产生按下键消息WM_KEYDOWN外,还将产生一个字符消息WM_CHAR。当然,如果释放该键,还将产生WM_KEYUP消息。用户敲击一个一个字符键后,其产生的消息及处理函数的执行顺序如下
WM_KEYDOWN(OnKeyDown()),WM_CHAR(OnChar()),WM_KEYUP(OnKeyUp())。
该实例的功能是实现单文档应用程序界面中,当用户通过键盘键入字符时,在视图窗口依次显示键入的字符。当用户按下回车键时,进行换行输出。
1 创建工程
2添加消息映射和响应函数
在“Messages"列表框中选择“WM_CHAR”字符按键消息,添加OnChar()消息处理函数。
3手工实现添加代码
(1)在视图类的头文件中定义Cpoint型变量,用于记录字符在视图窗口中的位置代码如下:
(2)在类的构造函数中,初始化ptCharacter位置为(0,0)。代码如下:
(3)WM-CHAR()中实现字符的显示和换行
编译运行程序后,当用户通过键盘键入字符时,即会在视图窗口输出显示。如果按下了回车键,换行输出。