onkeydown在MFC中怎么没用

运动健将 2010-07-10 11:40:04
判断是不是按下上下键,完全不起作用
...全文
421 点赞 收藏 9
写回复
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
运动健将 2010-07-11
窗体的keydown
回复
socoola 2010-07-11
你捕捉的是哪个控件或窗口的key down事件?
如果当前控件或窗口不能输入(比如说一个按钮,或这个没有控件的窗口),按上下键触发在控件之间的切换,而不是触发key down事件
回复
wltg2001 2010-07-11
[Quote=引用 7 楼 vbks 的回复:]
pretranslatemessage()好像是在窗体启动后,立即触发,键值还没触发呢
[/Quote]
这个是消息预处理,不是窗口启动后立即触发的。
回复
wltg2001 2010-07-11
这样写:
BOOL CMy2Dlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: 在此添加专用代码和/或调用基类
if(pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_RIGHT)
{

AfxMessageBox(_T("dlfjkl"));

}
return CDialog::PreTranslateMessage(pMsg);
}
另外VK_RIGHT是向右的键,不是上下的。
回复
运动健将 2010-07-11
pretranslatemessage()好像是在窗体启动后,立即触发,键值还没触发呢
回复
dahaiI0 2010-07-11
wm_keydown,如果是dialog,pretranslatemessage()里判断消息
回复
运动健将 2010-07-11
void Ctest321Dlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
switch(nChar)
{
case VK_RIGHT:
AfxMessageBox("test")
break;
default:
break;
}
回复
wltg2001 2010-07-11
你是怎么写的啊?
回复
运动健将 2010-07-11
窗体怎么捕获消息
回复
发动态
发帖子
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
社区公告
暂无公告