visual c++6.0 编辑框如何设置只输入数字

我用visualc++6.0要编一个计算软件,想要使edit控件只能输入数字,请问哪位大侠给以指导... 我用visual c++6.0要编一个计算软件,想要使edit控件只能输入数字,请问哪位大侠给以指导 展开
 我来答
千锋教育
2016-01-03 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部

  方法如下:

  1. 在VC6.0中,右键点击控件在弹出的菜单上点击“Properties”(属性)

  2. 在弹出的属性对话框中,点击Style(样式)页面

  3. 将右下角的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);
    }

静心闻无弦
推荐于2016-07-25 · 超过16用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:46万
展开全部
如果仅右击编辑框属性,在style勾上Number属性的话, 是不能输入小数点的

允许输入数字和小数点
下面的代码放在OnEnChangeEditXXX()函数中,可实现此功能。

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;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
燕辉猫猫
2010-04-22 · 超过12用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:0
展开全部
右击编辑框属性,style勾上Number就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ecba46aab
2010-04-22 · TA获得超过2303个赞
知道大有可为答主
回答量:2477
采纳率:100%
帮助的人:1969万
展开全部
关联一个数字类型哦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式