S
sleepy
Unregistered / Unconfirmed
GUEST, unregistred user!
俺看了一本C++Builder的书,它提供的是如下的办法:
void __fastcall TForm1::Edit1Change(TObject *Sender)
{
AnsiString ansistrTemp;
ansistrTemp=Edit1->Text;
for(int i=1;i<=ansistrTemp.Length();i++)
{
if(ansistrTemp>'9'||ansistrTemp<0)
ansistrTemp.Delete(i,1);
}
Edit1->Text=ansistrTemp;
}
实现功能倒是没问题, 只是每当输入非数字时, Edit框中的光标就跑到了
最前面, 这样, 如果继续输入的话, 需要手动把光标挪回到最后,感觉很
土. 请问有没有更好的解决办法? 或者, 如何控制Edit框中光标的位置?
void __fastcall TForm1::Edit1Change(TObject *Sender)
{
AnsiString ansistrTemp;
ansistrTemp=Edit1->Text;
for(int i=1;i<=ansistrTemp.Length();i++)
{
if(ansistrTemp>'9'||ansistrTemp<0)
ansistrTemp.Delete(i,1);
}
Edit1->Text=ansistrTemp;
}
实现功能倒是没问题, 只是每当输入非数字时, Edit框中的光标就跑到了
最前面, 这样, 如果继续输入的话, 需要手动把光标挪回到最后,感觉很
土. 请问有没有更好的解决办法? 或者, 如何控制Edit框中光标的位置?