您的位置:首页 > 其它

MFC 响应Delete按键按下的操作事件

2016-12-12 10:33 483 查看
void CUMLApplication1View::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) //相应Delete按键按下的的操作

{
CView::OnKeyDown(nChar, nRepCnt, nFlags);
if (nChar == VK_DELETE)
{
MessageBox(_T("Delete"));
}

}

首先,简介一下键盘消息:

(1)系统消息:(系统键Alt,F10等),由系统内部处理

WM_SYSKEYDOWN

WM_SYSKEYUP

WM_SYSCHAR

(2)非系统消息:

WM_KEYDOWN

WM_KEYUP

WM_CHAR

二、添加消息(一般WM_KEYDOWN),在消息响应函数

OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)

有三个变量,nChar这是虚拟键代码,另外两个不常用,用时参看MSDN。

如果要响应组合键,可以用GetAsyncKeyState()检测按键状态

如:

   case VK_UP: 

    if (GetAsyncKeyState(VK_LSHIFT)) 

    { 

     // 左shift+up 

    } 

    break;

三,下面介绍虚拟键代码:

0~9,A~Z 为ASCII码,(去除ASCII码前的0),如A为65,不是065;

其它的为VK码,如下所示:

VK值列表   

   VK_CANCEL   Ctrl+Break   

VK_TAB         Tab   

VK_RETURN   Enter     

VK_SHIFT     Shift   

VK_CONTROL   Ctrl   

VK_MENU         Alt   

VK_LBUTTON 01 鼠标左键   

VK_RBUTTON 02 鼠标右键   

VK_CANCEL    03 用于执行Ctrl+C或Ctrl+Break   

VK_MBUTTON 04 鼠标中键   

VK_BACK 08 Backspace键   

VK_TAB 09 Tab键   

VK_CLEAR                   0C Clear键   

VK_RETURN                   0D Enter键   

VK_SHIFT                   10 Shift键   

VK_CONTROL 11 Ctrl键   

VK_MENU 12 Arl键   

VK_PAUSE                   13 Pause键   

VK_CAPITAL 14 Capslock键   

VK_ESCAPE                   1B Ese键   

VK_SPACE                   20 SpaceBar键   

VK_PRIOR                   21 PgUp键   

VK_NEXT 22 PgDn键   

VK_END 23 End键   

VK_HOME 24 Home键   

VK_LEFT 25 Left   Arrow键   

VK_UP 26 Up   Arrow键   

VK_RIGHT                   27 Right   Arrow键   

VK_DOWN 28 Down   Arrow键   

VK_SELECT                   29 Select键   

VK_EXECUTE 2B Execute键   

VK_SNAPSHOT 2C PrintScreen键   

VK_INSERT                   2D               Ins键   

VK_DELECT                   2E Del键   

VK_HELP 2F Help键   

VK_0 30 0键   

.........

VK_9 39 9键   

VK_A 41 A键   

… … …   

VK_Z 5A Z键   

VK_NUMAPD0 60 数字板0键   

… … …   

VK_NUMAPD9 69 数字板9键   

VK_MULTIPY 6A 乘号键   

VK_ADD 6B 加号键   

VK_SEPARATOR 6C Separator键   

VK_SUBSTRACT 6D 减号键   

VK_DECIMAL 6E 小数点键   

VK_DIVIDE                   6F 除号键   

VK_F1 70 F1键   

… … …   

VK_F24 87 F24键   

VK_NUMLOCK 90 NumLock键   

VK_SCROLL                   91 ScrollLock键   

VK_ESCAPE         Esc   

VK_SPACE           Space   

VK_PRIOR           Page   Up   

VK_NEXT             Page   Down   

VK_END               End   <
4000
br />
VK_HOME             Home   

VK_LEFT             向左方向键   

VK_UP   

VK_RIGHT   

VK_DOWN   

VK_DELETE         Delete   

VK_INSERT         Inser   

VK_NUMPAD0~VK_NUMPAD9           小键盘上的0-9键   

VK_F1-VK_f12                             F1-F12键

 
模拟按键按下和释放
 
keybd_event(VK_SHIFT,0,0,0);            //模拟按下shift键

keybd_event(VK_LCONTROL,0,0,0);            //模拟按下ctrl键
Sleep(1000);        //停顿一秒

keybd_event(VK_LCONTROL,0,KEYEVENTF_KEYUP,0);    //释放ctrl键

keybd_event(VK_SHIFT,0,KEYEVENTF_KEYUP,0);        //释放shift键
http://blog.csdn.net/mjk1133/article/details/6704694
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐