如何建一个只能输入数字的编辑框?

解决方案 »

  1.   

    编辑框的属性-〉style中选者number即可
      

  2.   

    输入之后判断即可
    IF数字
    通过
    ELSE
    返回重新输入
      

  3.   

    赞同楼上的楼上的观点
        编辑框的属性-〉style中选者number即可
    你还可以在同一地方改变他成password属性的
      

  4.   

    具体一点,
    用什么函数设,
    我用的不是MFC,
    是SDK啊.
      

  5.   

    也可用子类化的方法,把edit的消息过程,换掉成自己的消息过程,参看函数setwindowlong
      

  6.   

    sdk你就判断输入的每一个字符是否在0-9之间
    输入之后判断即可
    IF数字
    通过
    ELSE
    返回重新输入,提示信息
      

  7.   

    编辑框的属性-〉style中选者number即可
      

  8.   

    编辑框的属性-〉style中选择number,好像只能输入整数,浮点数怎么输入?
      

  9.   

    直接使用代码!
    用ClassWizard从CEdit派生自己的类!
    class CMyEdit : public CEdit
    {
    // Construction
    public:
    CMyEdit();
    // Attributes
    public:// Operations
    public:// Overrides
    // ClassWizard generated virtual function overrides
    //{{AFX_VIRTUAL(CMyEdit)
    //}}AFX_VIRTUAL// Implementation
    public:
    virtual ~CMyEdit(); // Generated message map functions
    protected:
    //{{AFX_MSG(CMyEdit)
    afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
    //}}AFX_MSG DECLARE_MESSAGE_MAP()
    };在上面的自定义类中响应消息WM_CHAR
    void CMyEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) 
    {
    // TODO: Add your message handler code here and/or call default
      if(::isdigit(nChar))
      {
    //make all the input characters are digital
    CEdit::OnChar(nChar,nRepCnt,nFlags);

        }
    }在你的对话框中添加变量:
    prvate:
    CMyEdit m_Edit;
    在对话框的OnInitDialog()初始化!
    BOOL CAboutDlg::OnInitDialog() 
    {
    ...
    //控件的子类型化
    m_Edit.SubclassDlgItem(IDC_YOUR_EDIT,this);
    ....
    }
    --------------
    别忘了包含相应的头文件!
      

  10.   

    对不起我不想用MFC实现,
    我想用SDK实现.