在Edit1Exit(Sender: TObject);事件里面有这么一些代码:
if messagebox(0,'你输入的水表编号不够6位数!选择YES进行修改,选择NO系统自动补足!','提示',MB_YESNO+MB_ICONQUESTION)=IDYES THEN
edit1.SetFocus
else begin
edit1.Text:=inttostr(100000+strtoint(edit1.Text));
edit2.SetFocus;
end;
下面是NNN条语句
执行完这个过程以后
edit2中的光标消失了!但是如果输入数据的时候它还是会在edit2里面显示出来,在edit2的最前面显示出来,而edit2里面原有的字符向后推进.如何把我的光标弄出来啊?
if messagebox(0,'你输入的水表编号不够6位数!选择YES进行修改,选择NO系统自动补足!','提示',MB_YESNO+MB_ICONQUESTION)=IDYES THEN
edit1.SetFocus
else begin
edit1.Text:=inttostr(100000+strtoint(edit1.Text));
edit2.SetFocus;
end;
下面是NNN条语句
执行完这个过程以后
edit2中的光标消失了!但是如果输入数据的时候它还是会在edit2里面显示出来,在edit2的最前面显示出来,而edit2里面原有的字符向后推进.如何把我的光标弄出来啊?
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
procedure Edit2Enter(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Edit2Enter(Sender: TObject);
begin
if messagebox(0,'你输入的水表编号不够6位数!选择YES进行修改,选择NO系统自动补足!','提示',MB_YESNO+MB_ICONQUESTION)=IDYES THEN
edit1.SetFocus
end;end.
你在新工程里面添加2个Tedit控件!然后执行,点击edit2,你就会发现问题了!
建议别研究这个了,反正大多数用户对太多的MessageBox都会厌烦的。输入不符合要求时disable一些按钮是比较规范的做法。
我是W2k+ D7