如何屏蔽基于对话框模式的系统快捷键
我想在基于对话框模式程序中的F1键
应该怎样处理?
我是这样做的,不知道错在那里!
在对话框中增加一成员变量:
HACCEL m_hAccel
在OnInitDialog()函数中将快捷键加载:
m_hAccel = LoadAccelerators(AfxGetInstanceHandle( ),
MAKEINTRESOURCE(IDR_ACCELERATOR));
在PreTranslateMessage(MSG* pMsg)中处理快捷键的消息:
if (m_hAccel != NULL)
TranslateAccelerator(this->m_hWnd, m_hAccel, pMsg);
对话框关闭时删除加载的快捷键:
if (m_hAccel != NULL)
DestroyAcceleratorTable(m_hAccel);
其中IDR_ACCELERATOR是我自制的快捷键列表