VC/MFC什么时候调用OnKeyDown函数
VC/MFC什么时候调用OnKeyDown函数我在OnKeyDown函数里用MessageBox按键盘没有什么弹出怎样才能调用OnKeyDown函数呢?...
VC/MFC什么时候调用OnKeyDown函数
我在OnKeyDown函数里用MessageBox按键盘没有什么弹出
怎样才能调用OnKeyDown函数呢? 展开
我在OnKeyDown函数里用MessageBox按键盘没有什么弹出
怎样才能调用OnKeyDown函数呢? 展开
3个回答
展开全部
当键盘有按键被按下的时候,OnKeyDown函数会被调用。
函数原型:
afx_msg void OnKeyDown(
UINT nChar,
UINT nRepCnt,
UINT nFlags
);
参数一:UINT nChar 虚拟键盘码
参数二:UINT nRepCnt, nRepCnt参数保存了键被重击的次数。
参数三:UINT nFlags,值是一个16位的UINT型.各位代表的意义如下:
第0-7位:扫描码
第8位:扩展键,比如说功能键(F1-12),或者数字区的键
第9-10位:没有使用
第11-12位:供Windows内部使用
第13位:状态描述码(如果键按下时ATL键也是按下的,那么值为1,否则为0)
第14位:前一个键的状态(如果是按下的,值为1,否则为0)
第15位:变换状态(如果键是正在被按下,值为1,如果是正在放开,值为0)
函数原型:
afx_msg void OnKeyDown(
UINT nChar,
UINT nRepCnt,
UINT nFlags
);
参数一:UINT nChar 虚拟键盘码
参数二:UINT nRepCnt, nRepCnt参数保存了键被重击的次数。
参数三:UINT nFlags,值是一个16位的UINT型.各位代表的意义如下:
第0-7位:扫描码
第8位:扩展键,比如说功能键(F1-12),或者数字区的键
第9-10位:没有使用
第11-12位:供Windows内部使用
第13位:状态描述码(如果键按下时ATL键也是按下的,那么值为1,否则为0)
第14位:前一个键的状态(如果是按下的,值为1,否则为0)
第15位:变换状态(如果键是正在被按下,值为1,如果是正在放开,值为0)
展开全部
你没看见OnKeyDown函数只有两个参数吗!!!
{
switch(nChar)
{
case VK_CONTROL:
{
MessageBox(L"fsdfsfsfs");
}
break;
}
}
以上代码响应的是按下ctrl键响应消息 弹出消息框 其中nChar是OnKeyDown的参数 楼主可以看到 当nChar的值是ctrl的虚拟码VK_CONTROL时就会执行以下的代码
{
switch(nChar)
{
case VK_CONTROL:
{
MessageBox(L"fsdfsfsfs");
}
break;
}
}
以上代码响应的是按下ctrl键响应消息 弹出消息框 其中nChar是OnKeyDown的参数 楼主可以看到 当nChar的值是ctrl的虚拟码VK_CONTROL时就会执行以下的代码
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
WM_KEYDOWM消息
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询