MFC的Accelerator问题(在线等,急!!!)

我在MFC对话框设计时在ResourceView右键添加了一个Accelerator,然后应该怎么关联到我的主窗口(默认是关联到关于窗口)。补充一点:我试过用ClassW... 我在MFC对话框设计时在Resource View右键添加了一个Accelerator,然后应该怎么关联到我的主窗口(默认是关联到关于窗口)。
补充一点:我试过用Class Wizard,但每一次打开它都叫我选择一个类关联,似乎是因为没有关联成功,我添加的加速键也是关联到关于窗口。应该不是VC的问题,因为我用同学的电脑也是如此。
展开
 我来答
Juncox
2009-06-23 · TA获得超过1638个赞
知道大有可为答主
回答量:1904
采纳率:0%
帮助的人:1625万
展开全部
我给你个对话框的步骤:

1、在CxxxApp中添加变量HACCEL m_hAccelerator;// 加速键结构体

2、在BOOL CxxxApp::InitInstance()中添加加载项
// 关联加速键
m_hAccelerator=LoadAccelerators(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_ACC_MYACC));

3、在BOOL CxxxApp::ProcessMessageFilter(int code, LPMSG lpMsg) 中进行消息处理
{
if (code < 0) CWinApp::ProcessMessageFilter(code, lpMsg);

//-----------------------------------------------------
// 映射加速键
if (m_pMainWnd->m_hWnd)
{
if(m_hAccelerator)
if (::TranslateAccelerator(m_pMainWnd->m_hWnd, m_hAccelerator, lpMsg))
return(TRUE);
}
return CWinApp::ProcessMessageFilter(code, lpMsg);
}
178752468
2009-06-22 · TA获得超过291个赞
知道小有建树答主
回答量:517
采纳率:0%
帮助的人:403万
展开全部
1 LoadAccelerators加载新添加的加速键
2 TranslateAccelerator将加速键翻译为命令消息

以上调用在消息处理中进行,如虚函数PreTranslateMessage中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2009-06-22
展开全部
选择一个窗口关联上去吧,因为如果你不关联,这个快捷键消息就不知道该发给哪个HWND了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友87b4f1c69
2009-06-22 · TA获得超过1218个赞
知道小有建树答主
回答量:760
采纳率:0%
帮助的人:995万
展开全部
打开类向导后,选择主窗口类进行关联,然后添加消息处理函数,然后做下测试就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式