读书人

关于Edit Box输入字符类型限制有关问题

发布时间: 2012-01-21 21:31:43 作者: rapoo

关于Edit Box输入字符类型限制问题?知道的请帮帮忙.
我要设置Edit Box接收字符限制,比如:只能让其输入数字,而不让其输入英文字母,要怎么做,那位朋友知道,请指点一下!

[解决办法]
用EN_EXCHANGE 吧
————————————————————————————
UpdateData(true);
int len = m_Edit.GetLength();
char new_char = m_Edit.GetAt(len-1);

if((new_char < 'A '||new_char> 'Z ')&&(new_char < 'a '||new_char> 'z '))
AfxMessageBox( "error! ");
[解决办法]
用WM_CHAR。
判断输入的是“0~9”和“.”,判断允许一个“+”和“-”,允许左右移动和退格键。
这些都有字符编码的。
[解决办法]
楼主是用MFC编辑框控件吗?
那直接将属性Number修改为true就可以了。。。
[解决办法]
1.自己从CEdit类继承个类 : CYourEdit //方法:Insert --> new class ...

2.在CYourEdit中添加WM_CHAR消息响应函数

CYourEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
char *lpchar = "0123456789 ";
CString str;
str.Format( "%s ", lpchar );

if ( str.Find( nChar ) != -1 )
CEdit::OnChar(nChar, nRepCnt, nFlags);
else
AfxMessageBox( "输入的是非法字符 ");
}

3.DDX关联你的Edit控件ID变量为: CYourEdit类型 //方法就不用说了吧

4.包含相应的头文件
把YourEdit.h include到使用CYourEdit的.h中( DDX变量所在的文件中 也是个.h文件 )


-------

读书人网 >VC/MFC

热点推荐