高分请教。。。。基于对话框的应用程序,如何设置快捷键,谢谢! 高分请教。基于对话框的应用程序,如何设置快捷键,谢谢!我现在搞毕业设计,急用,谢谢指教 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 还是不明,具体点,假设我要设置一个button的热键,如何做。谢谢! button->properties->caption->&Test当按下alt+t时就触发单击按钮事件 to:kongyunzhongque(云雀)但我是不要按alt键的, 好比我设置一个button,当我按数字键时它就执行。 哈哈...这样好了:1.在 OnInitDialog 里 ::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 ,:-) 必需是一个组合键,与下面其中之一的功能键组合:MOD_ALTMOD_CONTROLMOD_SHIFTMOD_WIN更多详情,查看 RegisterHotKey 还有就是批量的设计时添加Accelerator资源IDR_ACCELERATOR1,选定button的ID,选定快捷键,等等在OninitDialog加载Accelerator资源:m_hAccel =LoadAccelerators(AfxGetResourceHandle(),MAKEINTRESOURCE(IDR_ACCELERATOR1));在PreTranslateMessage处理快捷键消息BOOL C***Dlg::PreTranslateMessage(MSG* pMsg) { if(pMsg->message ==WM_HOTKEY && pMsg->wParam ==0x3222) { SetWindowPos(&CWnd::wndTopMost, 0,0,0,0,SWP_NOMOVE |SWP_NOSIZE |SWP_SHOWWINDOW); SetForegroundWindow(); ShowWindow(SW_SHOWNORMAL); return TRUE; } ::TranslateAccelerator(this->m_hWnd,m_hAccel,pMsg); return CDialog::PreTranslateMessage(pMsg);} 截取登陆界面后,任务栏的显示问题?? 郁闷,没一场赌赢的……杯具中 关于pc和单片机的串口通信 如何给treectrl加headerctrl????? 服务器线程? 请问:用CFile类的Rename改名,怎么样才可以不改动后缀名呀??谢谢 请问在基于对话窗的程序里实现位图打印怎么做? 请看看这条出错信息 求助!如何编程序,判断网线是否已经插上?就像win2000一样 哪位发给我一点扫雷程序的图标 在使用RegSetValueEx的时候出错,说“功能错误”(在NT4。0中) 在CEditView中怎么实现全选功能?
当按下alt+t时就触发单击按钮事件
但我是不要按alt键的, 好比我设置一个button,当我按数字键时它就执行。
1.在 OnInitDialog 里
::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 ,:-)
MOD_ALT
MOD_CONTROL
MOD_SHIFT
MOD_WIN更多详情,查看 RegisterHotKey
设计时添加Accelerator资源IDR_ACCELERATOR1,选定button的ID,选定快捷键,等等在OninitDialog加载Accelerator资源:
m_hAccel =LoadAccelerators(AfxGetResourceHandle(),MAKEINTRESOURCE(IDR_ACCELERATOR1));
在PreTranslateMessage处理快捷键消息
BOOL C***Dlg::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message ==WM_HOTKEY && pMsg->wParam ==0x3222)
{
SetWindowPos(&CWnd::wndTopMost, 0,0,0,0,SWP_NOMOVE |SWP_NOSIZE |SWP_SHOWWINDOW);
SetForegroundWindow();
ShowWindow(SW_SHOWNORMAL);
return TRUE;
}
::TranslateAccelerator(this->m_hWnd,m_hAccel,pMsg);
return CDialog::PreTranslateMessage(pMsg);
}