使用快捷键弹出新对话框
2011-05-12 14:54
204 查看
第一、快捷键:
1、响应按键消息:使用PreTranslateMessage,mfc处理消息之前,通常在这里做处理。该函数使用时要从CWin的虚函数PreTranslateMessage中重载。
2、按键,好吧,就在下面;
后面括号的是对应的ASCII码
ESC键 VK_ESCAPE (27)
回车键: VK_RETURN (13)
TAB键: VK_TAB (9)
Caps Lock键: VK_CAPITAL (20)
Shift键: VK_SHIFT ($10)
Ctrl键: VK_CONTROL (17)
Alt键: VK_MENU (18)
空格键: VK_SPACE ($20/32)
退格键: VK_BACK (8)
左徽标键: VK_LWIN (91)
右徽标键: VK_LWIN (92)
鼠标右键快捷键:VK_APPS (93)
Insert键: VK_INSERT (45)
Home键: VK_HOME (36)
Page Up: VK_PRIOR (33)
PageDown: VK_NEXT (34)
End键: VK_END (35)
Delete键: VK_DELETE (46)
方向键(←): VK_LEFT (37)
方向键(↑): VK_UP (38)
方向键(→): VK_RIGHT (39)
方向键(↓): VK_DOWN (40)
F1键: VK_F1 (112)
F2键: VK_F2 (113)
F3键: VK_F3 (114)
F4键:VK_F4 (115)
F5键: VK_F5 (116)
F6键: VK_F6 (117)
F7键: VK_F7 (118)
F8键: VK_F8 (119)
F9键: VK_F9 (120)
F10键: VK_F10 (121)
F11键: VK_F11 (122)
F12键: VK_F12 (123)
Num Lock键: VK_NUMLOCK (144)
小键盘0: VK_NUMPAD0 (96)
小键盘1: VK_NUMPAD0 (97)
小键盘2: VK_NUMPAD0 (98)
小键盘3: VK_NUMPAD0 (99)
小键盘4: VK_NUMPAD0 (100)
小键盘5: VK_NUMPAD0 (101)
小键盘6: VK_NUMPAD0 (102)
小键盘7: VK_NUMPAD0 (103)
小键盘8: VK_NUMPAD0 (104)
小键盘9: VK_NUMPAD0 (105)
小键盘.: VK_DECIMAL (110)
小键盘*: VK_MULTIPLY (106)
小键盘+: VK_MULTIPLY (107)
小键盘-: VK_SUBTRACT (109)
小键盘/: VK_DIVIDE (111)
二、显示对话框,这就简单了
if (WM_KEYDOWN == pMsg->message)
{
if (VK_F4 == pMsg->wParam)
{ TestNewDialog *pnewDialog = new TestNewDialog();
BOOL bRet = pnewDialog->Create(TestNewDialog::IDD, this);
if (!bRet)
{ AfxMessageBox(_T("create failed")); }
pnewDialog->ShowWindow(SW_SHOW);
CDC *pCdc = pnewDialog->GetDC(); }
}
1、响应按键消息:使用PreTranslateMessage,mfc处理消息之前,通常在这里做处理。该函数使用时要从CWin的虚函数PreTranslateMessage中重载。
2、按键,好吧,就在下面;
后面括号的是对应的ASCII码
ESC键 VK_ESCAPE (27)
回车键: VK_RETURN (13)
TAB键: VK_TAB (9)
Caps Lock键: VK_CAPITAL (20)
Shift键: VK_SHIFT ($10)
Ctrl键: VK_CONTROL (17)
Alt键: VK_MENU (18)
空格键: VK_SPACE ($20/32)
退格键: VK_BACK (8)
左徽标键: VK_LWIN (91)
右徽标键: VK_LWIN (92)
鼠标右键快捷键:VK_APPS (93)
Insert键: VK_INSERT (45)
Home键: VK_HOME (36)
Page Up: VK_PRIOR (33)
PageDown: VK_NEXT (34)
End键: VK_END (35)
Delete键: VK_DELETE (46)
方向键(←): VK_LEFT (37)
方向键(↑): VK_UP (38)
方向键(→): VK_RIGHT (39)
方向键(↓): VK_DOWN (40)
F1键: VK_F1 (112)
F2键: VK_F2 (113)
F3键: VK_F3 (114)
F4键:VK_F4 (115)
F5键: VK_F5 (116)
F6键: VK_F6 (117)
F7键: VK_F7 (118)
F8键: VK_F8 (119)
F9键: VK_F9 (120)
F10键: VK_F10 (121)
F11键: VK_F11 (122)
F12键: VK_F12 (123)
Num Lock键: VK_NUMLOCK (144)
小键盘0: VK_NUMPAD0 (96)
小键盘1: VK_NUMPAD0 (97)
小键盘2: VK_NUMPAD0 (98)
小键盘3: VK_NUMPAD0 (99)
小键盘4: VK_NUMPAD0 (100)
小键盘5: VK_NUMPAD0 (101)
小键盘6: VK_NUMPAD0 (102)
小键盘7: VK_NUMPAD0 (103)
小键盘8: VK_NUMPAD0 (104)
小键盘9: VK_NUMPAD0 (105)
小键盘.: VK_DECIMAL (110)
小键盘*: VK_MULTIPLY (106)
小键盘+: VK_MULTIPLY (107)
小键盘-: VK_SUBTRACT (109)
小键盘/: VK_DIVIDE (111)
二、显示对话框,这就简单了
if (WM_KEYDOWN == pMsg->message)
{
if (VK_F4 == pMsg->wParam)
{ TestNewDialog *pnewDialog = new TestNewDialog();
BOOL bRet = pnewDialog->Create(TestNewDialog::IDD, this);
if (!bRet)
{ AfxMessageBox(_T("create failed")); }
pnewDialog->ShowWindow(SW_SHOW);
CDC *pCdc = pnewDialog->GetDC(); }
}
相关文章推荐
- 在Windows操作系统下使用Visual C++ 6.0编程时,如果点击菜单中的【打开】或者【添加】,或者按快捷键,都会弹出一个对话框,怎么解决?
- ASP.NET中使用AJAX时如何弹出对话框
- .NET使用了UpdatePanel后如何弹出对话框!
- abap 弹出对话框函数POPUP_GET_VALUES的使用方法
- 弹出对话框AlertDialog.Builder使用笔记
- Air for Android开发中使用Back键弹出是否退出对话框
- 最近在使用MyEclipse的SVN插件时总是弹出一个大大的对话框,报一个Failed to load JavaHL Library.错误
- 最近在使用MyEclipse的SVN插件时总是弹出一个大大的对话框,报一个Failed to load JavaHL Library.错误 [java] view plaincopy Failed
- Liferay 6.1开发学习(十三):弹出层/弹出对话框的使用
- 使用jqueryUI制作弹出对话框(一)视频
- .NET使用了UpdatePanel后如何弹出对话框!
- 解决AJAX中使用UpdatePanel后再用Response.Write();等无法弹出对话框问题 3法
- 经常使用的android弹出对话框
- VC++ 当我在界面上使用classwizard时,会弹出 Parsing error对话框,提示:Parsing error:Expected ")" input lin
- 使用window.prompt()实现弹出用户输入的对话框
- 收藏 使用webbrowser控件时,如何屏蔽网站弹出的对话框
- 跳过window无关联时弹出的[使用web服务查找合适的程序]对话框,直接显示打开方式对话框
- 《重装系统后弹出对话框(无法打开这个应用(无法使用内置管理员账户打开xx,请使用其他账户登录,……))》
- 使用ASP.NET 2.0 AJAX 弹出对话框
- asp.net 使用UpdatePanel 返回服务器处理后弹出对话框