用MFC写一个相当于快捷键的东西,利用ALT+A的组合键,但是如果用按下来判断的话(GetKeyState<0),一直按着组合键便会一直调用相应函数,所以想按键弹起时触发,贴上大概代码形式(在PreTranslateMessage中): if (pMsg->message == WM_KEYUP || pMsg->message == WM_SYSKEYUP)
{
if (GetKeyState(VK_MENU) < 0)
{
if (GetKeyState(0x41) > 0)
{
((CMainFrame*)AfxGetMainWnd())->OnBackgroundChanged();
return TRUE;
}
}
}mfc键盘消息PreTranslateMessageWM_SYSKEYUP
{
if (GetKeyState(VK_MENU) < 0)
{
if (GetKeyState(0x41) > 0)
{
((CMainFrame*)AfxGetMainWnd())->OnBackgroundChanged();
return TRUE;
}
}
}mfc键盘消息PreTranslateMessageWM_SYSKEYUP
解决方案 »
- RORMVIEW 如何响应CMainFrame 里控件的消息?
- 用Visual assist时的一个问题
- 请问c++里怎么改边文件或者目录的权限啊
- *********网络几大问题,请看详细内容!!!!!
- 谁用过IC卡读卡器: MIFARE ONE 或者 EM卡的都行。什么品牌比较好,要能够提供通讯协议的。
- 关于CString的奇怪问题
- 在编辑框上弹出右键菜单?
- SOS!!如何在程序中实现对打印机控制,打完后令打印机退纸几厘米??谢谢!!!
- 我是学计算机网络的,很喜欢编程编程,以前经常用C,C++,但现在流行用JAVA,请问各位大虾,我是该向VC发展,还是向JAVA发展,哪个更有前
- 希望这方面真正的高手参加讨论:有谁能真正说清VC的错误异常处理?try catch(...)和TRY CATCH并不能真正捕获所有异常,
- odbc如何连接同一个数据源下的n多个表?
- DLL调式总是莫名其妙(结束)跳到界面
注册全局是可以的,但下面这样就能实现弹起出发函数操作了~不过同样感谢回帖!if (/*pMsg->message == WM_KEYUP ||*/ pMsg->message == WM_SYSKEYUP)
{
if (GetKeyState(VK_MENU) < 0)
{
if (GetAsyncKeyState(0x41) & 0x8000 != 0)
{
((CMainFrame*)AfxGetMainWnd())->OnBackgroundChanged();
return TRUE;
}
}
}