如何使对话框响应WM_KEYDOWN. 希望在对话框中响应Page UP、Page Down按键,但WM_KEYDOWN消息,对话框得不到,为何?Page UP、Page Down键为何找不到 VK_值,它们是如何定义和使用的呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 重载CDialog::PreTranslateMessage,BOOL CMyDlg::PreTranslateMessage(MSG* pMsg) { if(pMsg->message == WM_KEYDOWN) { // check key code here } return CDialog::PreTranslateMessage(pMsg);} bcpl(从来就没有什么救世主,也不靠神仙皇帝) 说得很对(当然很对了);教你一个笨方法:小声点,不要让别人知道,在 BOOL CMyDlg::PreTranslateMessage(MSG* pMsg) { if(pMsg->message == WM_KEYDOWN) { int iKey = pMsg->wParam; CString str; str.Format("%d", iKey); AfxMessageBox(str);//我知道Page UP = 33, Page Down = 34 } return CDialog::PreTranslateMessage(pMsg);}其实在winuser.h中#define VK_PRIOR 0x21#define VK_NEXT 0x22 在大家的指导下,我可以获取Page down/up了,但按了几次后,(每次调用一个函数),函数中并没有非分之想,常规的计算和显示而已。随后,PreTranslateMessage(MSG* pMsg) 函数也得不到任何值了,仿佛什么也没发生!?郁闷不郁闷 :-〈 基于对话框的应用程序,其焦点在对话框的某个控件上,所以响应不了键盘消息,按顶楼的做法,重载CDialog::PreTranslateMessage这个预处理消息就可以了。至于你的第二个问题:可能是你自己函数的问题,设一个断点,跟踪一下... Windows7为什么无法使用mscomm32串口控件,求解决方案? 急!寻支持接收对方手机按键的GSM Modem。请各位兄弟姐妹帮忙啊 ole操作word2007菜单 写木马到底用mfc好还是api好? 摄像头编程 请问关于flash编程!(只要能解决问题,500分1000分也不是问题呀) 我想要个测试算法速度的工具,请指点! MFC执行本地html(带javascript),不显示界面 关于zmodem 协议的资料及编程 串口通讯:端口怎么就打不开 请教高手一个超级难题(在线等候) help我的msdn不能用了
BOOL CMyDlg::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message == WM_KEYDOWN)
{
// check key code here
}
return CDialog::PreTranslateMessage(pMsg);
}
说得很对(当然很对了);
教你一个笨方法:小声点,不要让别人知道,在
BOOL CMyDlg::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message == WM_KEYDOWN)
{
int iKey = pMsg->wParam;
CString str;
str.Format("%d", iKey);
AfxMessageBox(str);//我知道Page UP = 33, Page Down = 34
}
return CDialog::PreTranslateMessage(pMsg);
}其实在winuser.h中
#define VK_PRIOR 0x21
#define VK_NEXT 0x22
函数也得不到任何值了,仿佛什么也没发生!?郁闷不郁闷 :-〈