VC++学习之——Edit只能输入数字和小数点
2014-02-20 13:11
309 查看
有时候我们在Edit框中需要对用户的输入进行限制,允许输入数字和小数点。下面的代码放在OnEnChangeEditXXX()函数中,可实现此功能。
(如果只允许输入正整数,那么直接把空间的属性“Number”设为True就可以了,不需要在添加一下代码。)
CString csAreaS;
GetDlgItem( IDC_EDIT_AREA_S )->GetWindowText( csAreaS );
// 只允许输数据
int
nStringLength = csAreaS.GetLength();
int
nDotCount = 0;
//
点字符不能多于1个
for
( int nIndex = 0; nIndex < nStringLength; nIndex++ )
{
if
( csAreaS[ nIndex ] == '.' )
{
nDotCount++;
if
( nDotCount > 1 )
{
CString
csTmp;
csTmp
= csAreaS.Left( nIndex );
csTmp
+= csAreaS.Right( csAreaS.GetLength() - nIndex - 1 );
//csRadius
= csRadius.Left( nIndex + 1 ) + csRadius.Right( nStringLength - ( nIndex + 1 ) - 1 );
GetDlgItem(
IDC_EDIT_AREA_S )->SetWindowText( csTmp );
return;
}
}
}
// 不允许输入数字和点以外的字符
for ( int nIndex = 0; nIndex < nStringLength; nIndex++ )
{
if ( csAreaS[ nIndex ] != '.' && ( csAreaS[ nIndex ] > '9' || csAreaS[ nIndex ] < '0' ) )
{
csAreaS = csAreaS.Left( nIndex ) + csAreaS.Right( csAreaS.GetLength() - nIndex - 1 );
GetDlgItem( IDC_EDIT_AREA_S )->SetWindowText( csAreaS );
return;
}
(如果只允许输入正整数,那么直接把空间的属性“Number”设为True就可以了,不需要在添加一下代码。)
CString csAreaS;
GetDlgItem( IDC_EDIT_AREA_S )->GetWindowText( csAreaS );
// 只允许输数据
int
nStringLength = csAreaS.GetLength();
int
nDotCount = 0;
//
点字符不能多于1个
for
( int nIndex = 0; nIndex < nStringLength; nIndex++ )
{
if
( csAreaS[ nIndex ] == '.' )
{
nDotCount++;
if
( nDotCount > 1 )
{
CString
csTmp;
csTmp
= csAreaS.Left( nIndex );
csTmp
+= csAreaS.Right( csAreaS.GetLength() - nIndex - 1 );
//csRadius
= csRadius.Left( nIndex + 1 ) + csRadius.Right( nStringLength - ( nIndex + 1 ) - 1 );
GetDlgItem(
IDC_EDIT_AREA_S )->SetWindowText( csTmp );
return;
}
}
}
// 不允许输入数字和点以外的字符
for ( int nIndex = 0; nIndex < nStringLength; nIndex++ )
{
if ( csAreaS[ nIndex ] != '.' && ( csAreaS[ nIndex ] > '9' || csAreaS[ nIndex ] < '0' ) )
{
csAreaS = csAreaS.Left( nIndex ) + csAreaS.Right( csAreaS.GetLength() - nIndex - 1 );
GetDlgItem( IDC_EDIT_AREA_S )->SetWindowText( csAreaS );
return;
}
相关文章推荐
- C语言条件编译
- [开源项目]_[C++ CSDN博客下载-CSDN博客导出-CSDN博客备份工具]
- [开源项目]_[C++ CSDN博客下载-CSDN博客导出-CSDN博客备份工具]
- C++中重载,重写(覆盖),隐藏 与 多态性
- C++引用类型
- C++中delete和delete[]的区别(博客转载)
- Effective C++ : initialization list vs assignments
- VC++ 安装驱动 详细解释
- 各种对象的生命周期(博客转载)
- 关于C++拷贝构造函数的一些问题
- 12个有趣的C语言面试题
- c++ 大数模板 及例题
- 嵌入式C语言的杂七杂八
- c++静态变量,静态函数,私有静态变量的使用小记
- C++的多态性 虚函数 虚析构函数
- c++ static const
- base64编码c++版本
- libsvm代码阅读:svm.cpp浅谈和函数指针
- C++ 指针1
- C++ string 成员函数