需要用回車鍵代替TAB鍵下移一個控件時,把KeyPreview設爲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;