MFC中,基于对话框的程序如何响应OnChar呢?

美少女xT77
2013-10-10 · TA获得超过3734个赞
知道小有建树答主
回答量:985
采纳率:0%
帮助的人:763万
展开全部
试时发现不会进入这两个函数,必须重定义PreTranslateMessage()虚函数才能正确地进入这两个消息函数,具体实现如下: BOOL CTestDlg::PreTranslateMessage(MSG* pMsg){SendMessage(pMsg-message,pMsg-wParam,pMsg-lParam);return 0;//return CDialog::PreTranslateMessage(pMsg);}这样,程序就能正确地调用onKeyDown和onChar这两个函数了,且onKeyDown()在onCchar()之前处理的。 这样就能在对话框中响应WM_CHAR、WM_KEYDOWM消息了,注意在发送WM_CHAR时,实际发送了三个消息即 WM_CHARWM_KEYDOWMWM_KEYUP所以,如果你有如下代码: void CMy1Dlg::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags){// TODO: Add your message handler code here and/or call default if(nChar=='a')
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式