正在加载图片...
第5单基本输入一键盘和标 END MESSAGE MAP ( 在“Ch5 Demol view. h”头文件,自动添加了消息处理函数 OnKey Down()的声明代码如下: protected //((AEX MSG(CCh5Demolview) afx msg void onKey Down(UINT nchar, UINT nRepCnt, UINT nFlags) //AEX MSG 3.手工添加函数的实现代码 在 Class wizard对话框(图42)中,单击“ Edit Code”按钮,在工作区中,即跳转至新增函数代 码的定义处。这时,需要手工添加 On Drawcircleo函数的实现代码,如下: void cch DemolView:: OnKey Down(UINT nchar, UINT nRepcnt, UINT nFlags) // TODO: Add your message handler code here and/or call default AfxMessageBox("用户按下了键!") //弹出提示对话框 cview:: OnKeyDown(nchar, nRepcnt, nFlags) 这里只添加了一行代码,实现弹出提示对话框。 编译运行程序后,若用户按下键盘的任意键,就会弹 SOREST 出提示对话框,如图4.3所示。 WM KEYUP消息的消息映射和处理过程与 按下了继 WM KEYDOWN的完全相同。 4.14按键消息处理函数 从上一节实例可见,MFC会将 WM KEYDOWN消息 映射为 ON WM KEYDOWN,而对应的处理函数为 图4.3程序运行结果 OnKey Down(。同样, WM KEYUP消息对应的处理函数 为 OnKeyUpo。它们具有完全相同的参数,声明如下: void onkey Down (UINT nchar, UINT nRepCnt, UINT nFlags); void OnkeyUp(UINT nchar, UINT nRepcnt, UINT nFlags) 口参数 n char表示按键的虚拟键码。如“ VK ALT”,表示按下的键为【Alt】键, “ VK CONTROL”表示按下的键为【 Ctrl】键。 Windows中常用的虚拟键码及其对应的按键如 表4.2所示。 表4.2 Windows常用的虚拟键码及其对应的按键 虚拟键码 对应的键 虚拟键码 对应的键 K LBUTTON 鼠标左键 VK BACK 退格键 K RBUTTON 鼠标右键 VK TAB 制表键 VK MBUTTON 鼠标中键 VK RETURN 回车键 K SHIFT 16 Shift键 VK CONTROL Ctrl键 励志照亮人生编程改变命// Standard printing commands …… END_MESSAGE_MAP() 在“Ch5Demo1View.h”头文件,自动添加了消息处理函数OnKeyDown()的声明代码如下: protected: //{{AFX_MSG(CCh5Demo1View) afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags); //}}AFX_MSG 3. 手工添加函数的实现代码 在ClassWizard对话框(图4.2)中,单击“Edit Code”按钮,在工作区中,即跳转至新增函数代 码的定义处。这时,需要手工添加OnDrawcircle()函数的实现代码,如下: void CCh5Demo1View::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) { // TODO: Add your message handler code here and/or call default AfxMessageBox("用户按下了键!"); //弹出提示对话框 CView::OnKeyDown(nChar, nRepCnt, nFlags); } 这里只添加了一行代码,实现弹出提示对话框。 编译运行程序后,若用户按下键盘的任意键,就会弹 出提示对话框,如图4.3所示。 WM_KEYUP 消息的消息映射和处理过程与 WM_KEYDOWN的完全相同。 4.1.4 按键消息处理函数 从上一节实例可见,MFC会将WM_KEYDOWN消息 映射为 ON_WM_KEYDOWN,而对应的处理函数为 OnKeyDown()。同样,WM_KEYUP消息对应的处理函数 为OnKeyUp()。它们具有完全相同的参数,声明如下: void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags); void OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags); ❑ 参 数 nChar 表示按键的虚拟键码。如“ VK_ALT ”,表示按下的键为【 Alt 】键, “VK_CONTROL”表示按下的键为【Ctrl】键。Windows中常用的虚拟键码及其对应的按键如 表4.2所示。 表4.2 Windows常用的虚拟键码及其对应的按键 虚拟键码 数 值 对应的键 虚拟键码 数 值 对应的键 VK_LBUTTON 1 鼠标左键 VK_BACK 8 退格键 VK_RBUTTON 2 鼠标右键 VK_TAB 9 制表键 VK_MBUTTON 4 鼠标中键 VK_RETURN 13 回车键 VK_SHIFT 16 Shift键 VK_CONTROL 17 Ctrl键 73 励志照亮人生 编程改变命运 第 5 章 基本输入—键盘和鼠标消息 图4.3 程序运行结果
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有