某窗口中有 edit1 、 edit2 、button1 。其中 button1 的 default 为ture ,我在 edit1 中输入"Hello",然后回车,那么 button1的click事件中要怎样写才能得到edit1中的值,加上一个"Msg" 一起 Showmessage出来呢?如果是在 edit2 中输入文字,再回车呢,两者有什么不同?
某窗口中有 edit1 、 edit2 、button1 。其中 button1 的 default 为ture ,我在 edit1 中输入"Hello",然后回车,那么 button1的click事件中要怎样写才能得到edit1中的值,加上一个"Msg" 一起 Showmessage出来呢?如果是在 edit2 中输入文字,再回车呢,两者有什么不同?
i_edit:integer;
s_edit:string;
//button1的CKICK事件中可能会用到
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key='#13' then
begin
i_edit:=1; //来自EDIT1
s_edit:=edit1.text; //取EDIT1的内容
button1click(application);
end;
end;
Edit事件:
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then Button1Click(Sender);
end;
Button1事件:
procedure TForm1.Button1Click(Sender: TObject)
var
txt:string;
begin
if (Sender is TEdit) then
begin
txt:=(Sender AS Tedit).Text;
showmessage('msg'+txt);
end;
end;
ActiveEdt:TEdit;procedure TForm1.Edit1Enter(Sender:TObject);
begin
ActiveEdt:=Edit1;
end;procedure TForm1.Edit2Enter(Sender:TObject);
begin
ActiveEdt:=Edit2;
end;
proceure TForm1.Button1Click(sender:TObject);
begin
ShowMessage(IntToStr(ActiveEdt.tag));//取得ActiveEdt的tag属性或作其他用途
end;
end;
1.取消 button 的default
2.设置两个 edit 的tag 为不同值。
3.设置 edit 的 OnkeyDown 同上。
4.btn1click:var
str:string;
begin
case Tedit(Sender).tag of
0:str:='0';
1:str:='1';
3:str:='3';
end;
showmessage(str);
end;仍然谢谢大家。分会给出.