MFC中 限制只能输入数字的编辑框

来源:互联网 发布:韩庚 金希澈 知乎 编辑:程序博客网 时间:2024/06/15 22:00

限制只能输入数字的编辑框。方法如下:

1.      创建一个继承CEdit类的类;

2.      添加函数:afx_msgvoid OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);在类中的属性为public

3.      OnChar函数内容为:

4.       

void  Limit_Edit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)

{

     TCHAR ch=nChar;

     if(  !(ch>=_T('0')&&ch<=_T('9')|| ch==VK_BACK) ){

         return;

     }

     CEdit::OnChar(nChar, nRepCnt, nFlags);

}

5.      在继承的类*.cpp中的:

BEGIN_MESSAGE_MAP(Limit_Edit,  CEdit)

END_MESSAGE_MAP()

添加成如下代码:

BEGIN_MESSAGE_MAP(Limit_Edit,  CEdit)

         //ON_EN_CHANGE(IDC_EDIT,  &Limit_Edit::OnChar)

         ON_WM_CHAR()

END_MESSAGE_MAP()

6.      *Dlg.cpp文件中的OnInitDialog函数中如下使用:

Edit  = new Limit_Edit;

         Edit->Create(WS_CHILD|WS_VISIBLE|WS_BORDER,  CRect(10, 10, 100, 100), this, IDC_EDIT);

原创粉丝点击