Mam's WebSite

Mamの覚書Q&A検索


大項目:「 Delphi 」 - 中項目:「 コンポーネント 」

「 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;

Copyright 2019 Mam