在使用Edit控件时,我们经常可能需要限定输入的内容,比如只能是数字、只能是字符、部分字符和数字等等。
那么我们就需要限制Edit的输入内容只能是指定的内容。下面的代码实现是我经常用的,希望对需要的人有所帮助。 
 
首先我们要对Edit控件重载ON_EN_CHANGE事件,之后在重载的事件方法里加入下面的代码:
 
  
void CMyTestDialogInfo::OnEnChangeEditInput()
{
	// TODO:  如果该控件是 RICHEDIT 控件,它将不
	// 发送此通知,除非重写 CMFCPropertyPage::OnInitDialog()
	// 函数并调用 CRichEditCtrl().SetEventMask(),
	// 同时将 ENM_CHANGE 标志“或”运算到掩码中。
 
	// TODO:  在此添加控件通知处理程序代码
	CString strTemp=_T("");
	CEdit* editHelp = ((CEdit*)(GetDlgItem(IDC_EDIT_INPUTHANDLE)));
	editHelp->GetWindowText(strTemp);
	int len = strTemp.GetLength();
	for (int i = 0; i < len; i ++)
	{
		if(strTemp.GetAt(i) < '0' || strTemp.GetAt(i) > '9')
		{
			strTemp = strTemp.Left(i);
			editHelp->SetWindowText(strTemp);
			editHelp->SetSel(i,i,TRUE);
			return;
		}
	}
}

 

上面的方法是可以举一反三的,大家根据需要自己修改吧!有不懂的可以留言!