2009年10月19日星期一

【收藏】bcb中控制Edit控件只输入数字

bcb中控制Edit控件只输入数字

bcb中控制Edit控件只输入数字
2008年12月31日 星期三 10:55

在BCB中控制Edit控件的输入是件很麻烦的事,在这一点上BCB做的没有VC好。但是既然做为程序员,那就没有什么可以被难倒的。我们可以采取自己写代码控制的方法来实现对其的控制。这里只说两种简单的方法,抛砖引玉吧。

第一种:控制事件方法

在Edit控件的KeyPress事件中控制输入的Key,把不需要的Key设置成0,就OK了。例如:

void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
    //控制Edit1只能输入数字
    if ( (Key<'0'||Key>'9') && (Key != '\b') )
    {
        Key = 0;
    }
}
这种方法只能在KeyPress事件中,不能在KeyDown或KeyUp事件中。

第二种方法:调用API的方法

不说了看代码吧

void __fastcall TForm1::FormShow(TObject *Sender)
{
    //控制Edit2只能输入数字
    SetWindowLong(Edit2->Handle, GWL_STYLE, GetWindowLong(Edit2->Handle,GWL_STYLE)|ES_NUMBER);
}

或许朋友们有更好的方法,请告诉我。

没有评论:

发表评论