正在加载图片...
Visual c++ 99a BeAr 同时按下了Ctr1和P键 匚醍 图44程序运行结果 4.1.5字符消息的处理 当按下一个可显示的字符(数字、字母、标点等)的键时,除了产生按下键消息 WM KEYDOWN外,还将产生一个字符消息 WM CHAR。当然,如果释放该键,还将产生 WM KEYUP消息。用户敲击一个一个字符键后,其产生的消息及处理函数的执行顺序如图45所示。 用户敲击字符按键 键盘消息 WM_ KEY DOWN WM CHAR WM KEYUP 处理函数 OnKey Dowr0 On Char O OnKeyUpO 图45键盘消息的处理过程 MFC将 WM CHAR消息映射为 ON WM CHAR,其对应的处理函数为 On Char(。函数 On Char( 的定义如下: void (UINT nchar, UINT nRepcnt, UINT nFlags) 其中参数 nRep Cnt和 nFlags的含义与41.3节介绍的 OnKey Down函数的完全相同。而参数 n Char存 放的不再是按键的虚拟键码,而是 Windows字符集的字符代码,默认为ASCI码。键盘上常见的字符 及其ASCI码值如表4.3所示 表4.3常见的字符及其ASc码值 字符符号 ASC码值 字符符号 ASC码值 字符符号 AScl码值 35 励志照亮人生编程改变命运图4.4 程序运行结果 4.1.5 字符消息的处理 当按下一个可显示的字符(数字、字母、标点等)的键时,除了产生按下键消息 WM_KEYDOWN外,还将产生一个字符消息WM_CHAR。当然,如果释放该键,还将产生 WM_KEYUP消息。用户敲击一个一个字符键后,其产生的消息及处理函数的执行顺序如图4.5所示。 图4.5 键盘消息的处理过程 MFC将WM_CHAR消息映射为ON_WM_CHAR,其对应的处理函数为OnChar()。函数OnChar() 的定义如下: void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) 其中参数nRepCnt和nFlags的含义与4.1.3节介绍的OnKeyDown函数的完全相同。而参数nChar存 放的不再是按键的虚拟键码,而是Windows字符集的字符代码,默认为ASCII码。键盘上常见的字符 及其ASCII码值如表4.3所示。 表4.3 常见的字符及其ASCII码值 字符符号 ASCII码值 字符符号 ASCII码值 字符符号 ASCII码值 ! 33 " 34 # 35 $ 36 % 37 & 38 ' 39 ( 40 ) 41 * 42 + 43 , 44 - 45 . 46 / 47 76 励志照亮人生 编程改变命运 零基础学 Visual C++ E 用户敲击字符按键 处理函数 键盘消息
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有