vc 实现一个功能,用户可以自定义快捷键? 如何实现
比如:以前是ctrl+F5实现某功能,现在用户可以改成其他键,任意该,只要不冲突就行了。。谁有源码,该怎么实现这功能啊...
比如: 以前是ctrl+F5实现某功能,现在用户可以改成其他键,任意该,只要不冲突就行了。。
谁有源码, 该怎么实现这功能啊 展开
谁有源码, 该怎么实现这功能啊 展开
2个回答
展开全部
其实你只要加一个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里面也应该有这个控件吧?这个功能很常见的呀
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
谢谢你了啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
重写 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);
}
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);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询