导读:
设置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
设置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