vc 实现一个功能,用户可以自定义快捷键? 如何实现

比如:以前是ctrl+F5实现某功能,现在用户可以改成其他键,任意该,只要不冲突就行了。。谁有源码,该怎么实现这功能啊... 比如: 以前是ctrl+F5实现某功能,现在用户可以改成其他键,任意该,只要不冲突就行了。。

谁有源码, 该怎么实现这功能啊
展开
 我来答
11...6@qq.com
2011-08-07 · TA获得超过381个赞
知道小有建树答主
回答量:986
采纳率:0%
帮助的人:668万
展开全部
其实你只要加一个Hot Key控件在对话框上,然后这个控件就自动的显示你当时按下的快捷键,当然你还要用到下面代码
CHotKeyCtrl m_HotKeyCtrl;//定义的一个Hot Key控件变量

WORD Modifiers = 0;
WORD VirtualKeyCode =0;
m_HotKeyCtrl.GetHotKey(VirtualKeyCode,Modifiers);
上面 的代码能得到Hot Key控件上面的快捷键
然后你就要把得到的快捷键信息注册
RegisterHotKey(GetSafeHwnd(), 1, Modifiers2, VirtualKeyCode);//注册后,这个快捷键就能用了!
最后注册后的快捷键要响应的话就要加入ON_WM_HOTKEY()宏来注册消息
现在你就可以正常工作了,一个快捷键方面的程序,
可以的话,我有全部的源代码,都能给你的。
其实你现在完全可以来到Visual studio的世界,
不过我想,在VC6里面也应该有这个控件吧?这个功能很常见的呀
追问
我的意思是,因为 这个控件不能放在 多文档视图上啊? 我的是针对 文档/视图 编程的

对了 ,我的邮箱是 seu_jh@163.com

谢谢你了啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
QQ_ln_65715615
2011-08-09
知道答主
回答量:33
采纳率:0%
帮助的人:5.6万
展开全部
重写 CFrmView对象 ,PreTranslateMessage消息
BOOL CFrmChildView::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message == WM_KEYDOWN)
{
if (::GetKeyState(VK_CONTROL) < 0)
{
switch(pMsg->wParam)
{
case 'A':
{
return TRUE;
}
break;
default:
break;
}
}
}
return CFormView::PreTranslateMessage(pMsg);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式