\t\tVC中对话框不能响应WM_CHAR WM_KEYUP WM_KEYDOWN消息的解决办法

做了这样一个例子:在对话框上画了一个静态文本,改名IDC_INPUTSTATE, 模仿QQ 正在输入。。 的功能 ,当键盘有输入时用该文本显示“正在输入。。。”,  给对话框添加了WM_CHAR消息响应函数,结果发现不响应,单步的时候发现不进消息响应函数的代码,解决方法如下

给对话框添加vritual 函数  BOOL CMy43Dlg::PreTranslateMessage(MSG* pMsg)  ,在里面处理一下

 

BOOL CMy43Dlg::PreTranslateMessage(MSG* pMsg) 

{

     // TODO: Add your specialized code here and/or call the base class

    if (pMsg->message == WM_KEYDOWN)

    {

        SetDlgItemText(IDC_INPUTSTATE, "正在输入...");

        return TRUE;

    }

    else if (pMsg->message == WM_KEYUP)

    {

        SetDlgItemText(IDC_INPUTSTATE, "");

    }

    else

    {

        return CDialog::PreTranslateMessage(pMsg);

    }

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值