MFC中编辑框输入限制代码求助 30

我在对话框中添加了一个编辑框控件我只想让他输入数字下面代码是控制输入数字的但是当第一个字符输入的不是数字的时候就会内存报错求各位大大帮我改改voidCKaihu::OnC... 我在对话框中 添加了一个 编辑框控件
我只想让他输入数字 下面代码 是控制输入数字的
但是当第一个 字符输入的不是数字的时候 就会 内存报错
求各位大大帮我改改

void CKaihu::OnChangeEditmm()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.

// TODO: Add your control notification handler code here
static char *str=",";
char str2[3]={0,0,0};
CString text;
GetDlgItem(IDC_EDITMM)->GetWindowText(text);
int iStart=HIWORD(((CEdit*)GetDlgItem(IDC_EDITMM))->GetSel());
if(iStart!=0)
{
if(!((text[iStart-1]>='0'&&text[iStart-1]<='9')||(text[iStart-2]==str[0]&&text[iStart-1]==str[1])))
{
str2[0]=text[iStart-1];
BOOL bDB=FALSE;
if(text[iStart-1]<0)
{
str2[1]=str2[0];
str2[0]=text[iStart-2];
bDB=TRUE;
}
text.Replace(str2,"");
GetDlgItem(IDC_EDITMM)->SetWindowText(text);
if(bDB)
{
((CEdit*)GetDlgItem(IDC_EDITMM))->SetSel(iStart-2,iStart-2,-1);
}
else
{
((CEdit*)GetDlgItem(IDC_EDITMM))->SetSel(iStart-1,iStart-1,-1);
}
}
}

}
展开
 我来答
莫情思
2009-12-11
知道答主
回答量:39
采纳率:0%
帮助的人:0
展开全部
你可以将编辑框与一个数字类型绑定,这样你输入的是字符 就会自动提示你 让你输入数字。
fascinating_li
2009-12-13 · TA获得超过844个赞
知道小有建树答主
回答量:1944
采纳率:0%
帮助的人:1295万
展开全部
编辑筐属性里把number复选框打上钩不就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式