vc限制编辑框输入数字的个数
vc限制编辑框输入数字的个数,比如输入范围0000--9999之间,当你在键盘输入88887时,只显示8888,第5位的7是不能显示的,也不能将88887传递给其它变量。...
vc限制编辑框输入数字的个数,比如输入范围0000--9999之间,当你在键盘输入88887时,只显示8888,第5位的7是不能显示的,也不能将88887传递给其它变量。只传递8888给其它变量。
展开
2个回答
展开全部
如果想让编辑框控件只支持数字的输入,只需改一下控件的属性就可以了:在VC6.0中,右键点击控件在弹出的菜单上点击“Properties”(属性),在弹出的属性对话框中,点击Style(样式)页面,将右下角的Number(数字)选中即可。
但是这样做后,你会发现,小数点也没法输入了,也就是说只能输入整数了。那么还想输入小数点,或者还想限制其他字符的输入怎么办呢?
这就要麻烦点了:
需要从CEdit派生一个新的类,重载WM_CHAR消息,在OnChar()中添加对输入字符的判断,不是你想要的字符直接返回就可以了
例如,只能输入小数:
void CXXXEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
if(::isdigit(nChar)||(nChar=='.'))
CEdit::OnChar(nChar, nRepCnt, nFlags);
}
但是这样做后,你会发现,小数点也没法输入了,也就是说只能输入整数了。那么还想输入小数点,或者还想限制其他字符的输入怎么办呢?
这就要麻烦点了:
需要从CEdit派生一个新的类,重载WM_CHAR消息,在OnChar()中添加对输入字符的判断,不是你想要的字符直接返回就可以了
例如,只能输入小数:
void CXXXEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
if(::isdigit(nChar)||(nChar=='.'))
CEdit::OnChar(nChar, nRepCnt, nFlags);
}
展开全部
可以在类向导中 Member Variables (关联变量)中为编辑框添加关联变量(CString类型的),添加后, Member Variables下方有一个Maximum Characters,在里面输入限制字符的个数即可!
还可以
UpdateData(TRUE) ;
if(str.GetLength >= 4)
{
str = str.left(4);
}
str是EDIT 的关联变量
还可以
UpdateData(TRUE) ;
if(str.GetLength >= 4)
{
str = str.left(4);
}
str是EDIT 的关联变量
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询