小弟我在CEdit控件中输入字符并对字符是否合乎规则进行判定,不合的则不在CEdit中显示,怎么实现

我在CEdit控件中输入字符并对字符是否合乎规则进行判定,不合的则不在CEdit中显示,如何实现?
我是响应WM_CHAR消息进行判定的,检验nChar是否合格,不合格则不在CEdit控件中显示。比如不允许输入字母A,若用户按下字母A键时,则提示信息不能输入,但是这时CEdit中已经有字母A了,还得需要删除。就如在资源管理器中重命名文件时,字母*/\<>?是输不进去的。C++Builder中KeyPress事件中有个引用参数Key,把Key='\0'即可。VC中如何实现呢?

------解决方案--------------------
从 CEdit 派生一个类,CEditEx 然后把它作为你CEdit控件的类别,在这派生类中的键盘输入中判断,如果是你想不要的字符,直接返回true,那么那字符就不会出现在输入了。
------解决方案--------------------
可以在消息循环里在把消息发送到编辑框之前就对消息进行拦截,并对其进行处理。

可以通过重载虚函数PreTranslateMessage()对所关心的消息进行解析:
BOOL CTestDlg::PreTranslateMessage(MSG* pMsg) 
{
    // TODO: Add your specialized code here and/or call the base class
    
     if(pMsg->message==WM_CHAR)
    {
        if(pMsg->wParam=='A')
        {
            MessageBox("Hell0;");
        }
        return    FALSE;
    } 
 ....

------解决方案--------------------
二楼说的应该能够解决问题,楼主动手试试吧