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 メソッドを呼び出します。
| パラメータ | 説明 | 
|---|---|
| 
 | 押されたキーボード キーのスキャン コードか  押されたキーの組み合わせがショートカットと考えられる場合、 同じキーの物理的なスキャン コードが、異なるプラットフォーム(Windows または iOS)では異なる可能性があります。 プラットフォーム固有のユニット(たとえば FMX.Platform.Mac.pas など)では、ネイティブ スキャン コードを、対応する Windows コード(UITypes ユニットで定義)に変換しなければなりません。以下に例を示します。 
 | 
| 
 | 押された文字(数字)または  押されたキーの組み合わせを印字可能な文字または数字として扱える場合は、 | 
| 
 | コントロールにフォーカスがある状態で指定のキーが押されたときにどのシフト キー(Shift、Ctrl、Alt、command)が押されたかを示します(command キーは Mac の場合のみ)。 | 
押されたキーの組み合わせがコントロールで正常に処理され、それ以上の処理が必要ない場合、KeyDown は、Key = 0 および KeyChar = #0 を割り当てます。
protected メソッドである KeyDown をオーバーライドすると、コントロールにキーボード入力フォーカスがある状態でキーが押されたときの別の応答を提供することができます。
パラメータの詳細については、TCommonCustomForm.KeyDown を参照してください。