挺奇怪的,为什么在FORMVIEW中我无法捕捉键盘消息啊?
void CMyFormView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
switch(nChar)
{
case VK_NUMPAD4:
do somthing;
break;
case VK_NUMPAD6:
...
...
...
}
CFormView::OnKeyDown(nChar, nRepCnt, nFlags);
}
为何我在程序中运行的时候按下小键盘的4、6程序毫无反应。在这里设置断点,也无反应,似乎键盘消息根本不从这里路过啊?
问题点数:60、回复次数:7Top
1 楼huangbeyond(校园人渣)回复于 2001-06-03 15:41:00 得分 5
我建议你使用HOOK,类似问题我出现过。Top
2 楼alamb(把握今生)回复于 2001-06-03 17:30:00 得分 25
在PreTranslateMessage里面处理消息。Top
3 楼Cowboy22(西部牛仔)回复于 2001-06-04 17:40:00 得分 30
CXXX::PreTranslateMessage(..)
{
if(pMsg->message == WM_KEYDOWN)
switch(pMsg->wParam)
{
case ...:
...
}
}
Top
4 楼CandyCat(苯苯猫)回复于 2001-06-05 03:19:00 得分 0
啊哈,谢谢,我试试Top
5 楼CandyCat(苯苯猫)回复于 2001-06-05 03:35:00 得分 0
OK!!!谢谢!!Top
6 楼CandyCat(苯苯猫)回复于 2001-06-05 03:36:00 得分 0
不过,问题虽然解决了,但是,我按键后会有Windows的声音警告,怎么办啊?Top
7 楼CandyCat(苯苯猫)回复于 2001-06-05 04:20:00 得分 0
解决声音的问题了,可以将焦点设置到一个不发声的控件上就行了Top




