VC/MFC什么时候调用OnKeyDown函数
发布网友
发布时间:2022-05-30 18:50
我来回答
共3个回答
热心网友
时间:2023-10-31 07:44
当键盘有按键被按下的时候,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)
热心网友
时间:2023-10-31 07:45
你没看见OnKeyDown函数只有两个参数吗!!!
{
switch(nChar)
{
case VK_CONTROL:
{
MessageBox(L"fsdfsfsfs");
}
break;
}
}
以上代码响应的是按下ctrl键响应消息 弹出消息框 其中nChar是OnKeyDown的参数 楼主可以看到 当nChar的值是ctrl的虚拟码VK_CONTROL时就会执行以下的代码
热心网友
时间:2023-10-31 07:45
WM_KEYDOWM消息