トップへ(mam-mam.net/)

TEditにフォーカスがあるときに、Enterキーで次のコントロールにフォーカスを移動したい

検索:

「TEditにフォーカスがあるときに、Enterキーで次のコントロールにフォーカスを移動したい」

TEditにフォーカスがあるときに、Enterキーを押すと、次のコントロールにフォーカスを移動するには。

回答

OnKeyPressイベントEnterキーが押されたらSelectNextメソッドを呼び出して、タブ順で次のコントロールにフォーカスを移動します。


SelectNext(CurControl: TWinControl; GoForward, CheckTabStop: Boolean);
  CurControl:ここで指定したコントロールの次のコントロールにフォーカスを移動
  GoForward:trueの場合は次のコントロールに移動、falseの場合は前のコントロールに移動
  CheckTabStop:trueの場合はTabStopプロパティがtrueのコントロールにのみ移動

ソース

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key=#13 then
  begin
    Key:=#0;
    SelectNext(TWinControl(ActiveControl),True,True);
  end;
end;