delphi一小段代码问题。在线等。急~~~

来源:百度知道 编辑:UC知道 时间:2024/05/16 12:40:05
procedure TFormb.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key = vk_Return) or(Key = vk_Down) then
Edit2.SetFocus;

end;

procedure TFormb.Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if ((Key = vk_Return) or(Key = vk_Down))and (BitBtn1.Enabled = True) then
BitBtn1.SetFocus
else
Edit2.SetFocus;
if Key = vk_Up then
Edit1.SetFocus;
要求解析清楚。。 我刚接触delphi... 谢谢了~~~

procedure TFormb.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key = vk_Return) or(Key = vk_Down) then //如果在edit1中按回车或者向下箭头键
Edit2.SetFocus; //设置光标到edit2

end;

procedure TFormb.Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
//edit2中如果按回车或者向下箭头 键,并且按钮bitbtn1有效
if ((Key = vk_Return) or(Key = vk_Down))and (BitBtn1.Enabled = True) then
BitBtn1.SetFocus //把光标设置到按钮bitbtn1
else
Edit2.SetFocus;
if Key = vk_Up then //按向上键
Edit1.SetFocus;

1、procedure TFormb.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
这个函数是EDIT1中输入时程序会发生的变化,当你摁键盘的下方向键时,光标就会跳到EDIT2中。
2、procedure TFormb.Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
这段是说在光标停在EDIT2的时候按键盘的向下键,并且BITBTN1这个程序中的按钮是可操作的话,就会将BITBTN1设置为有虚线边框的。如果输入的时不满足条件的话,光标继续停在EDIT2中。如果按向上方向键的话光标就会到EDIT1中。

其实个人觉得BitBtn1.SetFocus不怎么好,你