如何使文本框中只能输入数字

导读:

  设置Edit只能接收数字 //调试通过,是用MaskEdit之外的最好选择

  // get the current style flags

  LONG dwStyle = GetWindowLong(Edit1->Handle, GWL_STYLE);

  // add ES_NUMBER to these

  SetWindowLong(Edit1->Handle, GWL_STYLE, dwStyle | ES_NUMBER);

  //

  OnKeyPress

  void __fastcall Ttelewin::NOKeyPress(TObject *Sender, char &Key)

  {

  int a=(int)Key;

  if (a>28) //a=27可以使用backspace

  {

  if (a>57) //Key>9

  {

  //Application->MessageBox("请输入数字!", "警告", MB_OK);

  Key=0;

  }

  else if (a<48) //key<0

  {

  //Application->MessageBox("请输入数字!", "警告", MB_OK);

  Key=0;

  }

  }

  }

  /

  不用重写你加入这个代码吧!

  void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)

  {

  if ( ((Key< 0 ) || (Key> 9 )) )//不过你要是还要退格键的话就

  //if ( ((Key< 0 ) || (Key> 9 )) &&(Key!=??) 其中??退格键的码,我一时找不到不好意!

  {

  Key=0;

  }

  ///

  写一个函数

  void 函数(参数)

  {

  int i;

  int j;

  AnsiString k;

  i=参数->Text.Trim().Length();

  for (j=1;j<=i;j++)

  { k =参数->Text.Trim().SubString(j,1);

  if ((k< 0 || k> 9 )

  {

  Application->MessageBoxA("请输入数字或输入有错误!","提示",MB_OK);

  return ;

  }

  }

  }

  ///

  void __fastcall TForm1::tEditChange(TObject *Sender)

  {

  try

  {

  StrToFloat(tEdit->Text);//只能输入数字和一个小数点

  StrToInt(tEdit->Text););//只能输入数字

  }

  catch(...)

  {

  ShowMessage("输入错误");

  }

  }

  

  }

  

  以前看到过这么一段代码,还是很好用的。

  for(int i = 0; i ComponentCount; ++i)

  {

  if (frmDropControl->Components->ClassType() == __classid(TEdit))

  {

  LONG Style = GetWindowLong((dynamic_cast (frmDropControl->Components))->Handle, GWL_STYLE);

  SetWindowLong((dynamic_cast (frmDropControl->Components))->Handle, GWL_STYLE, Style | ES_NUMBER);

  }

  }

  

  自己写一个TEdit的子类呀,

  class myedit:public TEdit

  然后在OnChange里加入楼顶的代码

  /



本文转自

http://soa.5d6d.com/redirect.php?fid=11&tid=43&goto=nextnewset
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值