Welcome

首页 / 软件开发 / Delphi / 回车代替Tab移动输入焦点

回车代替Tab移动输入焦点2008-02-02很多时候,我们都用Tab键来移动输入焦点,但是有些情况下,比如输入用户名后还需要输入密码,由于习惯性,你有可能在输入用户名后就按了一下回车,希望到密码框里继续输入,可是却按了“确定”键,报告密码错误,所以使用以下代码来让“回车”键代替“TAB”键下移一个控件:

在窗体上放两个控件,Edit1和Edit2,再加入下列代码拦截击键:

Procedure TForm1.Edit1KeyPress(Sender:Tobject;Var Key:Char);
Begin
if key=#13 then{ 判断是按执行键}
if not (ActiveControl is TDbgrid) Then
Begin { 不是在TDbgrid控件内}
key:=#0;
perform(WM_NEXTDLGCTL,0,0);{移动到下一个控件}
end else
if (ActiveControl is TDbgrid) Then{是在 TDbgrid 控件内}
begin
With TDbgrid(ActiveControl) Do
if Selectedindex<(FieldCount-1) then
Selectedindex:=Selectedindex+1{ 移动到下一字段}
else Selectedindex:=0;
end;
End;

由于有时我们会使用到TDbgrid控件,那么就需要让按回车键下移到下一个字段上,而不是到下一个控件上,所以多了些判断码。