想给对话框中的几个button添加快捷键,采用了&+字母的方法,可是不知道什么原因编译后快捷键用不了。请问怎么回事儿?该怎么解决呢?谢谢!
解决方案 »
- 如有CClassA类,在CClassB中多个进程中创建CClass pA,怎么让多个进程中pA在完成任务时互不干扰?new ?CClass pA2 ..pA3?
- windbg不能进行本地内核调试
- CTreeCtrl控件叶节点的区分问题,请高手帮忙
- 怎样在一个对话框里改变另一个对话框的内容
- 为什么我的RichEdit用了SetOLECallback就响应不了OnDropFiles了?
- 【高分】求比较好用点的目录选择控件,急用。
- 哭着求 MSDN2001的下载 (最好是中文版的)是在是找不到了 ,D版还买不到,谢谢大牛门
- 如何才能实现象qq的换肤功能?(100分)结果满意可以再加
- 请问在控制台程序中怎么include 另一个程序文件,编译报错?
- 熟悉Profile生成文件的大虾请进来
- 请教一行代码的意思
- 四国军棋游戏,想要代码的请进来看看。
--你是指 确定(&O)这种方法么?按ALT+O没有反应?
::RegisterHotKey(m_hWnd,0xa009,MOD_CONTROL,0x57);
::SetFocus(m_hWnd);2.添加消息
BOOL CMyMFCDlg::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message==WM_HOTKEY && pMsg->wParam==0xa009)
{
AfxMessageBox("Hello, This is hot key :-)");
}
return CDialog::PreTranslateMessage(pMsg);
}LRESULT CMyMFCDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
if(message == WM_CLOSE)
{
::UnregisterHotKey(m_hWnd,0xa009);
}
return CDialog::WindowProc(message, wParam, lParam);
}好了,现在运行程序,请按 Ctrl + w ,:-)
在Dlg的头文件中加入: HACCEL m_hAccel;在Dlg的构造函数中加载加速键:基于对话框的程序如何使用加速键?m_hAccel=::LoadAccelerators(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_ACCELERATOR1));//加速键ID重载PreTranslateMessage函数:BOOL CDlg::PreTranslateMessage(MSG* pMsg){ // TODO: Add your specialized code here and/or call the base class if(m_hAccel!=NULL) if(::TranslateAccelerator(m_hWnd,m_hAccel,pMsg)) return TRUE; return CDialog::PreTranslateMessage(pMsg);}
--你是指 确定(&O)这种方法么?按ALT+O没有反应?是的,我用了这种方法,打开那个对话框的时候就是没有反应。