BCB新手问题,关于Edit只能输入数字,在线急等!!!

sailer_shi 2007-10-31 09:40:10
我是这么做的
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
if ((Key <char( '0 ') | |Key >char( '9 '))) //只能输入数字
{
if ((Key!=8)&&(Key!=13))//支持回车和退格
{
Key=0;
}
}
}

这些都是我从这里找到的,但是为什么我一编译就报告Undefined symbol 'apos',是不是少加入了什么文件呢?
...全文
343 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
mrdone 2007-11-02
  • 打赏
  • 举报
回复
楼上正解。
crf520 2007-10-31
  • 打赏
  • 举报
回复
使用api函数 也可以直接用maskedit控件 就可以完成了
i_love_pc 2007-10-31
  • 打赏
  • 举报
回复
大家附代码时请用:插入源代码方式。
Jesse_zoujiantao 2007-10-31
  • 打赏
  • 举报
回复
另外你可以直接用maskedit控件就行了
Jesse_zoujiantao 2007-10-31
  • 打赏
  • 举报
回复
由于KeyPress事件发生在Onchange以前,故可利用Keypress事件,判断按键是不是从零到九,或是backspace
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
if ((Key<'0'||Key>'9')&&Key!='\b')
Key='\0';
}
i_love_pc 2007-10-31
  • 打赏
  • 举报
回复
关于Edit只能输入数字的问题有过讨论,可以搜索一下。
注意一点的是,是否还要屏蔽粘贴
纯冰糖 2007-10-31
  • 打赏
  • 举报
回复
使用api函数吧

long Style = GetWindowLong(Edit->Handle,GWL_STYLE);
Style |= ES_NUMBER;
SetWindowLong(Edit->Handle,GWL_STYLE,Style);
xhwen 2007-10-31
  • 打赏
  • 举报
回复
复制到这里代码就变形了?晕


void __fastcall TForm2::Edit1KeyPress(TObject *Sender, char &Key)
{
if((Key<'0'||Key>'9')&&Key!=13&&Key!=VK_BACK) Key=NULL;
}
xhwen 2007-10-31
  • 打赏
  • 举报
回复
void __fastcall TForm2::Edit1KeyPress(TObject *Sender, char &Key)
{
if((Key<'0'||Key>'9')&&Key!=13&&Key!=VK_BACK) Key=NULL;
}
laowang2 2007-10-31
  • 打赏
  • 举报
回复
maskedit控件.

13,871

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧