API:Vcl.Buttons.TBitBtn.OnKeyPress

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

property OnKeyPress: TKeyPressEvent read FOnKeyPress write FOnKeyPress;

C++

__property OnKeyPress;

プロパティ

種類 可視性 ソース ユニット
event published
Vcl.Buttons.pas
Vcl.Buttons.hpp
Vcl.Buttons TBitBtn

説明

キーが押されたときに発生します。

Vcl.Buttons.TBitBtn.OnKeyPress は Vcl.Controls.TWinControl.OnKeyPress を継承しています。以下の内容はすべて Vcl.Controls.TWinControl.OnKeyPress を参照しています。

キーが押されたときに発生します。

OnKeyPress イベント ハンドラを使用すると、1 文字のキーを押したときの結果として何かを発生させます。

OnKeyPress イベント ハンドラの Key パラメータはChar 型で、OnKeyPress イベントは押されたキーの ASCII 文字を登録します。ASCII Char 値(たとえば SHIFT キーや F1キー)に対応しないキーは、OnKeyPress イベントを生成しません。キーの組み合わせ(たとえば SHIFT+A など) では、OnKeyPress イベントを 1 つだけ生成します。(たとえば、SHIFT+A と押したときの結果は、Caps Lock がオフのときの Key の値が「A」になります。)ASCII 以外のキー、またはキーの組み合わせに応答するには、OnKeyDown もしくは OnKeyUp イベント ハンドラを使用します。

アプリケーションは、すべてのキーについて、ユーザーがキーを押すと Windows の WM_KEYDOWN メッセージを受け取ります。このメッセージは、間接的に OnKeyDown イベントを生成します。Key パラメータを #0に設定すると、メッセージはそれ以上処理されなくなります。ただし、文字を生成するキーでは、Windows は WM_CHAR も生成します。OnKeyDown イベントが発生した時点で、そのキーの WM_CHAR メッセージは既にメッセージ キューに置かれています。Key を #0 に設定しても、メッセージの配信は停止されず、OnKeyPress イベントが発生します。Key を #0 に設定すると、OnKeyPress は文字を表さないキー以外にも発生します。文字を表すキーについては、OnKeyPress が発生し続けます。

このようなキーの処理方法には利点があります。文字(改行復帰の #13、Ctrl + C の #3 などの制御文字を含む)だけを処理するコードは、OnKeyPress イベントを使用する必要があります。文字を生成しないキーを処理するコードは、 OnKeyDown イベントを使用する必要があります。

関連項目

コード サンプル