VC中添加快捷键代码实现
来源:互联网 发布:知乎 螳臂当车 编辑:程序博客网 时间:2024/06/01 20:49
方法一:主菜单快捷键BOOL CExampleDlg::PreTranslateMessage(MSG* pMsg){// TODO: 在此添加专用代码和/或调用基类if (pMsg->message == WM_KEYDOWN) { switch (pMsg->wParam) { case 'F': if(::GetKeyState(VK_MENU) < 0 )MessageBox("hello"); }}return CDialog::PreTranslateMessage(pMsg);}上面代码是用alt+F响应"文件"主菜单项,该主菜单的captain设为“文件(&F)”非主菜单快捷键1 插入一个新的Accelerator到资源里,把加速键和对应的响应控件(如一个按钮)关联2 在对话框头文件中声明:HACCEL m_hAccel;3 在对话框的构造函数里初始化m_hAccelm_hAccel = ::LoadAccelerators(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_ACCELERATOR1));4 然后重载对话框的PreTranslateMessage函数,在BOOL CAboutDlg::PreTranslateMessage(MSG* pMsg) { if (m_hAccel) { if (::TranslateAccelerator(m_hWnd, m_hAccel, pMsg)) { return(TRUE); } } return CDialog::PreTranslateMessage(pMsg);}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////方法二1 声明热键消息处理函数原型 在.h中消息映射声明处(AFX_mSG字样之后)加入如下语句: LRESULT OnHotKey(WPARAM wParam,LPARAM lParam); 2. 消息与相应处理函数相关联 在.Cpp中加入消息映射宏,使消息与相应处理函数发生关系, ON_MESSAGE(WM_HOTKEY,OnHotKey); 3. 为方便以后的操作 预先在类中创建一个响应WM_CREATE和WM_DESTROY消息的函数 OnCreate()与OnDestroy()的框架4.向系统登记热键 在OnCreate()函数中加入如下代码以向系统登记热键,本例子的热键设为 Ctrl+Shift+A. RegisterHotKey(m_hWnd,1001,MOD_CONTROL|MOD_SHIFT,'A'); RegisterHotKey(m_hWnd,1002,MOD_CONTROL|MOD_SHIFT,'a'); 5.处理热键 在消息处理函数OnHotKey()中对热键进行处理,并可加入用户希望运行的程序代码 LRESULT CScrewView::OnHotKey(WPARAM wParam,LPARAM lParam) {if(wParam == 1001||wParam == 1002){ OnFun(); //CWnd::SetForegroundWindow(); //使得被激活窗口出现在前景 } return 0; } 6.程序运行完毕后解除热键 在OnDestroy()中通过UnRegisterHotKey()解除热键登记,释放系统资源. UnregisterHotKey(m_hWnd, 1001); //销毁快捷键 UnregisterHotKey(m_hWnd, 1002);
0 0
- VC中添加快捷键代码实现
- VC中添加快捷键代码实现
- VC中添加快捷键代码实现
- VC中添加快捷键代码实现
- vc/mfc中添加快捷键
- vc/mfc中添加快捷键[转载]
- VC/MFC中添加热键和快捷键
- 在VC或是VS中添加快捷键
- vs vc中代码对齐快捷键
- VC添加快捷键
- VC 格式化代码快捷键
- VC编程如何添加快捷键
- VC对话框添加菜单快捷键
- VC++6.0中注释多行代码的快捷键
- VC++添加服务代码
- vc++中常用快捷键
- winform中添加快捷键
- MFC中添加快捷键
- Noise and Turbulence
- python学习(三):matplotlib学习
- Eclipse自动排版
- #11 LeetCode——Container With Most Water
- 黑马程序员----C 语言学习笔记之指针函数与函数指针
- VC中添加快捷键代码实现
- SQLite数据库增删改查操作
- 用oncontextmenu事件单禁用右键菜单
- 如何开启mysql计划事件
- 源代码网址
- SVN服务器搭建和使用(一)
- linux下echo命令详解
- MAVEN POM.xml
- Java 用栈处理四则运算