不知道在哪里增加下面快速键定义的代码来让菜单有快速键的功能
IDR_MAINFRAME PRELOAD ACCELERATORS MOVEABLE
BEGIN
"F", ID_FILE_NEW,VIRTKEY,CONTROL
......END
谢谢麻烦指点。。
IDR_MAINFRAME PRELOAD ACCELERATORS MOVEABLE
BEGIN
"F", ID_FILE_NEW,VIRTKEY,CONTROL
......END
谢谢麻烦指点。。
解决方案 »
- 如何在一个按钮消息处理函数中先send数据、后recv数据?
- 新手:请大家推荐个DirectX的视频教程,或书籍等相关资料?
- 下拉列表如何定义关联变量?
- 监控软件开发技术QQ群:29147889
- 修改控件背景色
- 高分,有关CSplitterWnd
- 我晚上破天慌一个人喝了2瓶酒,以前从来没有的, 散分。。。
- 一个线程有几个消息队列?
- 请问“CJLibrary608c 界面库”的可靠性和稳定性如何?
- 关于我那篇找工作的帖子,谢谢大家的关心,请大家(尤其是留过言的哥哥姐姐们)近来领分!!!!!!!
- _variant_t类型转换到int/float/double等数值类型的最好办法是什么?
- 如何动态获取一个静态函数编译后的二进制代码长度?
::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);}
BEGIN
"在这里加一个&F", ID_FILE_NEW,VIRTKEY,CONTROL
......END
CMenu* p=GetMenu();
p->CreateMenu();
CMenu* pop=GetMenu();
pop->CreatePopupMenu();
pop->AppendMenu(MF_STRING,ID_NEW,"NEW");
pop->AppendMenu(MF_STRING,ID_OPEN,"OPEN");
p->AppendMenu(MF_POPUP,(UINT)pop->Detach(),"FILE");
pop->CreatePopupMenu();
pop->AppendMenu(MF_STRING,ID_FILE_COPY,"COPY");
pop->AppendMenu(MF_STRING,ID_FILE_PARSE,"COPY");
p->AppendMenu(MF_POPUP,(UINT)pop->Detach(),"EDIT");
pop->CreatePopupMenu();
pop->AppendMenu(MF_STRING,ID_FILE_EXIT,"EXIT");
p->AppendMenu(MF_POPUP,(UINT)pop->Detach(),"EXIT");
SetMenu(p);
p->Detach();现在但是这个代码应该写在什么函数里面才能在运行的时候出现在窗上里?我直接放在继承CFrameWnd类的构造函数里不行的。