Mfc 从CEdit派生的类不接受任何数值

Mfc 从CEdit派生的类不接受任何数值,mfc,Mfc,我是MFC的新手。我通过生成自己的CEdit类动态创建了编辑框,该类是CMYEditEx它已在对话框上创建了编辑框,但不接受任何数值。我想使编辑框仅用于数值。 我无法在编辑框中写入任何内容,但我的目的是创建只接受数值的编辑框。此功能在OnItDlg中实现 CMYEditEx* pEdit = new CMYEditEx; pEdit->Create(ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER | ES

我是MFC的新手。我通过生成自己的
CEdit
类动态创建了编辑框,该类是
CMYEditEx
它已在对话框上创建了编辑框,但不接受任何数值。我想使编辑框仅用于数值。 我无法在编辑框中写入任何内容,但我的目的是创建只接受数值的编辑框。此功能在OnItDlg中实现

CMYEditEx* pEdit = new CMYEditEx;

    pEdit->Create(ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER | ES_NUMBER ,
        CRect(130, aSize, 260, bSize), this, 1);


BOOL CMYEditEx::PreTranslateMessage(MSG* pMsg)
{
    // TODO: Add your specialized code here and/or call the base class



    int  nTextLength = this->GetWindowTextLength();
    if (pMsg->message == WM_CHAR)
    {
        // Ignoring 0 to 9
        if ((pMsg->wParam >= '0' &&   pMsg->wParam <= '9'))
        {
            return true;
        }
    }
    return CEdit::PreTranslateMessage(pMsg);
}
CMYEditEx*pEdit=新的CMYEditEx;
pEdit->创建(ES|U多行| WS|U子项| WS|U可见| WS|U选项卡| WS|U边框| ES|U编号,
正确(130,亚洲,260,英国),本,1;
boolcmyeditex::预翻译消息(MSG*pMsg)
{
//TODO:在此处添加专用代码和/或调用基类
int nTextLength=此->GetWindowTextLength();
如果(pMsg->message==WM\u CHAR)
{
//忽略0到9

如果((pMsg->wParam>='0'&&pMsg->wParam>您能在编辑控件中写入任何内容吗?请回答您的问题并说得更具体一些。到底发生了什么?您希望确切发生什么?您将显示在这里的代码放在哪里了?在构造函数中的
OnInitDialog
中?在其他地方?我们不知道,您需要告诉您s、 显示更相关的代码。是否有解决方案。我从CEdit派生了CMYEditEx类,然后在对话框函数的另一个类中创建编辑控件,如上图所示。我想使此编辑框仅用于数值。您没有回答我的问题。如果输入字母(a、B、C),会发生什么?如果输入数字(1、2、3),会发生什么?到底什么不起作用?你还需要显示更多的代码。是否有一个
删除pEdit;
的地方?如果它在错误的地方,你会遇到麻烦。发布相关的代码。了解你在派生类
CMYEditEx
中正在做什么也很重要。应该在问题中发布相关的代码。问题em可能在您未显示的代码中。编辑框允许输入字符,但不允许输入数值