MFC 怎么判断是否按下了Ctrl+C

OnKeyDown(UINTnChar,UINTnRepCnt,UINTnFlags);case'C':{if(nFlags&MK_CONTROL){inta=0;}}为... OnKeyDown( UINT nChar, UINT nRepCnt, UINT nFlags ); case 'C':
{
if (nFlags & MK_CONTROL)
{
int a = 0;
}}为什么无论有没有按下Ctrl都能进入 int a = 0;这句
展开
 我来答
匿名用户
推荐于2018-03-10
展开全部
不明白if (nFlags & MK_CONTROL)这句是什么意思?调试下nFlags和MK_CONTROL值是多少。。要判断是否按下Ctrl+C,可用类向导里添加PreTranslateMessage消息BOOL 类名::PreTranslateMessage(MSG* pMsg)
{
//用PreTranslateMessage的方法,判断Ctrl+C是否按下,按下就执行快捷键对应的操作
if(pMsg->message == WM_KEYDOWN && pMsg->wParam == 'C' && IsCTRLPressed())
{
//AfxMessageBox("Ctrl + C 被按下");
return TRUE;
}
return CDialog::PreTranslateMessage(pMsg);
}
百度网友51412ff
2015-02-05
知道答主
回答量:11
采纳率:0%
帮助的人:8628
展开全部
BOOL CMyRichEditCtrl::PreTranslateMessage(MSG* pMsg)
{
// TODO: 在此添加专用代码和/或调用基类
if(pMsg->message == WM_KEYDOWN && pMsg->wParam == 'V' && GetAsyncKeyState(VK_CONTROL))
{
//AfxMessageBox(_T("Ctrl + V 被按下"));
int i = 0;
i++;
}
return CRichEditCtrl::PreTranslateMessage(pMsg);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我去尼玛封老子
2013-11-29
知道答主
回答量:1
采纳率:0%
帮助的人:1425
展开全部
我这边测试没这个问题~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-25
展开全部
一般注册一个热键就可以了,使用API RegisterHotKey,详细的查MSDN
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式