FMX.Controls.TControl.KeyDown
Delphi
procedure KeyDown(var Key: Word; var KeyChar: WideChar; Shift: TShiftState); virtual;
C++
virtual void __fastcall KeyDown(System::Word &Key, System::WideChar &KeyChar, System::Classes::TShiftState Shift);
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
procedure function |
protected | FMX.Controls.pas FMX.Controls.hpp |
FMX.Controls | TControl |
説明
コントロールにキーボード フォーカスがある状態でキーが押されたときの応答を提供します。
押されたキーがアプリケーション キー(Key = vkApps
)の場合、KeyDown はコントロールのコンテキスト メニューを表示します。それ以外の場合は、OnKeyDown イベント ハンドラが割り当てられていれば、KeyDown はそれを呼び出します。
TCommonCustomForm クラスや TControl の下位クラス(TCustomGrid など)では、キーの押下を処理するメソッドから KeyDown を呼び出します。これらは、メッセージ パラメータをキー コード、文字コード、シフト状態にデコードします。これらをそれぞれ Key
、KeyChar
、Shift
の各パラメータに渡して KeyDown メソッドを呼び出します。
パラメータ | 説明 |
---|---|
|
押されたキーボード キーのスキャン コードか
|
|
押された文字(数字)または |
|
コントロールにフォーカスがある状態で指定のキーが押されたときにどのシフト キー(Shift、Ctrl、Alt、command)が押されたかを示します(command キーは Mac の場合のみ)。 |
押されたキーの組み合わせがコントロールで正常に処理され、それ以上の処理が必要ない場合、KeyDown は、Key = 0
および KeyChar = #0
を割り当てます。
protected メソッドである KeyDown をオーバーライドすると、コントロールにキーボード入力フォーカスがある状態でキーが押されたときの別の応答を提供することができます。
パラメータの詳細については、TCommonCustomForm.KeyDown を参照してください。
return
や enter
といったキーは検知しますが、delete
は検知しません。 他のソフトウェア入力メソッドでは、バージョンに関係なく KeyEvents が送信されない場合がある点に注意してください。