MFC onchar()

为什么在CView类中可以对ON_CHAR进行相应,添加消息处理函数onchar就可以了,但是在CDialog中要对ON_CHAR相应,直接添加不行? 

CView相当于Text控件,你可以在Text控件里输入文字,因为Dialog对象没有办法直接获取到一个焦点(Focus),就象你没有办法单击某应用程序标题栏,然后改变他的标题。
需要重写PreTranslateMessage函数,拦截消息,你写的代码都不用改变,加上下面的
BOOL CMyDialog::PreTranslateMessage(MSG* pMsg) {
if(pMsg-> == WM_CHAR)
    OnChar((TCHAR)pMsg->wParam,0,0);//后面两个参数根据你的情况而定
return CView::PreTranslateMessage(pMsg);//不能少
}

转载于:https://www.cnblogs.com/Yogurshine/p/3465490.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值