delphi中如何限定edit框中的字符

2024-12-26 16:17:51
推荐回答(4个)
回答1:

Procedure TForm1.FormCreate(Sender: TObject);
Begin
Edit1.CharCase := ecUpperCase; //大写
End;

Procedure TForm1.Edit1KeyPress(Sender: TObject; Var Key: Char);
Begin
If Not (Key In ['0'..'9', 'a'..'f', 'A'..'F', #8]) Then //允许输入范围限制,#8退格
Begin
key := #0;
End;
End;

Procedure TForm1.Edit1ContextPopup(Sender: TObject; MousePos: TPoint;
Var Handled: Boolean);
Begin
Handled := True; //防止右键菜单的操作
End;

回答2:

在edit的change事件中加入判断ascii码并转换的语句

回答3:

字符数量可以用控件本身属性:maxlength 来限定(注意情况设计期初始值),或者,再最终提交的时候,做一个检查,看字符长度
if length(self.Edit1.text)>10 then
begin
Application.MessageBox('XXXX超长!','提示');
self.Edit1.SetFocus;
end;

回答4:

吧控件所在窗孔的 keypreview 属性设为真,控件的 keypress 事件才会生效