第枯好二步:声明一个HACCEL全局变量,在OnInitDialog()中添加
hACCTable=LoadAccelerators(AfxGetInstanceHandle(),MAKEINTRESOURCE("快捷键表ID"))
第三步:添加PreTranslateMessage相应函数,添加代码
if(::TranslateAccelerator(m_hWnd,hAccTable,pMsg))//hAccTable为HACCEL全局变量
{
return true
}
第四步:为快捷键添加COMMAND响应没早铅函数,函数内容就是调用你的按钮相应函数
以下过程适用于VC6.0版本。
添加菜单:
第一步,建立基于对话框的工程。
第二步,添加menu资源,添加菜单项,设其ID为IDR_MENUADD,添加所需要的菜单项。祥答段
第三步,在menu资源界面按Ctrl+W进入ClassWizard,此时会d出一个对话框,选中“select an exitingclass”,然后在select class对话框中选中主对话框类。然后点OK。
第四步,打开举中主对话框的属性,general下有一menu选项,选中刚才添加的mune资源的ID.如下:
最后,程序运行如下:
设定快捷键:
第一步,添加资源Accleerator,如下,点击New
第二步,在ResourceView下打开Accleerator ,打开IDR_ACCELERATOR1
然后双击两虚线之间部分,会d出一个设置的对话框,在ID栏选中要设置的菜单ID,在Key栏,设置你想要的快捷键,如下:
第三步,在菜单项添加快捷键说明谨誉
重写PreTranslateMessage,然后判断是否是F7键,调用按钮函数即可。
BOOL CDlgMsg::PreTranslateMessage(MSG* pMsg){
if (pMsg->message==WM_KEYDOWN)
{
switch (pMsg->wParam)
{
case VK_F7:
亮弊陪 //调用按钮对敬蠢应的事件函数,就同点击按钮相同
卜漏 MessageBox(_T("F7"))
break
}
}
return CDialogEx::PreTranslateMessage(pMsg)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)