您的位置:首页 > 编程语言 > C语言/C++

[转][VC++]限制CEdit(Edit Contrl)只能输入数字和小数点

2015-11-03 00:11 381 查看
void CSettingcategory::OnEnChangeEdit2()

{

CString csAreaS;

GetDlgItem( IDC_EDIT2 )->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_EDIT2 )->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_EDIT2 )->SetWindowText( csAreaS );

return;

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: