需要用回车键代替TAB键下移一个控件时,把form1.KeyPress设为True,加入下列代码拦截击键: Procedure TForm1.FormKeyPress(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;
Procedure TForm1.FormKeyPress(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;