コンポーネントのKeyPressイベントを使います。
KeyPressイベントでEnterキーが押されたときに、次のコントロールに移動するWindowsのメッセージを送ってフォーカスを移動させます。
任意のコントロールにフォーカスを移動させる場合には、コントロール名.SetFocusを使用します。
procedure Edit1KeyPress(var Key: Char); begin if (Ord(Key) = VK_RETURN) and (Shift = []) then begin // Enterキーが押されたら、次フィールドへ移動する。 // Delphi関数を使う方法 SelectNext(ActiveControl, GetKeyState(VK_SHIFT) >= 0, true); // ...Windows Messageを使用する方法 //SendMessage(Handle, WM_NEXTDLGCTL, Ord(GetKeyState(VK_SHIFT) < 0), 0); // 通常のEnterキーの処理をしないようにクリアしてしまおう。 Key := #0; end; end;
以下のコメントは、その投稿者が所有するものでサイト管理者はコメントに関する責任を負いません。