(クラス)
KeyPress イベントは、任意の非修飾キーのキーストロークまたは同等のアクションを表します。
説明
ユーザーが非修飾キーを押すか、同等の入力を指定すると必ず、キーボード フォーカスを得たオブジェクトで
KeyPress イベントが発生します。
KeyPress イベントは、以下を表す可能性があります。
- 実際のキーストローク
- キーを押し続けたときに生じるオートリピート操作
- キー プレス イベントを合成する音声認識システムの使用
- キーボードのキーストロークをシミュレーションするその他の操作
押されたキーに関する情報は、
KeyPress.value フィールドに格納されます。
KeyPress イベントが生成されたときにアクティブだった修飾キーに関する情報は、
KeyPress.state-mask フィールドに格納されるので、その情報には以下のアクセッサを介してアクセスできます。
KeyPress イベントに関する他の情報には、以下のフィールドとアクセッサを介してアクセスできます。
コンストラクタ public | {KeyPress.default} |
フィールド public KeyPress.flags:
int
アクセサ public KeyPress.insertable?:
bool
keypad?: | キーパッドでキーを入力した結果としてイベントが発生した場合は true。 |
アクセサ public KeyPress.keypad?:
bool セッター public KeyPress.keypad?:
bool
アクセサ public KeyPress.normal?:
bool セッター public KeyPress.normal?:
bool
repeat?: | オートリピート処理の結果としてイベントが発生した場合は true。 |
アクセサ public KeyPress.repeat?:
bool セッター public KeyPress.repeat?:
bool
アクセサ public KeyPress.shifty?:
bool セッター public KeyPress.shifty?:
bool
アクセサ public KeyPress.unmodified?:
bool
フィールド public KeyPress.value:
char プロパティ 継承 GuiInputEvent:
accel?, alt?, command?, ctrl?, has-coordinates?, menu?, shift?, state-mask, test-recorded?, x, y
public | {KeyPress.clear-state}:void |
(コンストラクタ)
public | {KeyPress.default} |
新しい KeyPress オブジェクトを作成します。
(フィールド)
public KeyPress.flags:
int キープレスの型を示すキー フラグのいくつかの組み合わせ。詳細は、KeyPressFlag を参照してください。
説明
bit-or を使用してフラグを組み合わせ、
bit-and を使用してフラグをテストできます。たとえば、次の式はキーがキーパッド キーかどうかを示します。
({bit-and event.flags, KeyPressFlag.keypad} != 0)
注意事項
(アクセサ)
アクセサ public KeyPress.insertable?:
bool
(アクセサ)
アクセサ public KeyPress.keypad?:
bool セッター public KeyPress.keypad?:
bool キーパッドでキーを入力した結果としてイベントが発生した場合は true。
(アクセサ)
アクセサ public KeyPress.normal?:
bool セッター public KeyPress.normal?:
bool
(アクセサ)
アクセサ public KeyPress.repeat?:
bool セッター public KeyPress.repeat?:
bool オートリピート処理の結果としてイベントが発生した場合は true。
(アクセサ)
アクセサ public KeyPress.shifty?:
bool セッター public KeyPress.shifty?:
bool KeyPress.shift? 修飾子が有効である場合は true。
例
Unicode 文字 "A" を取得するために Shift キーを押したまま a キーを押した場合、shift 修飾子は実際にアクティブになったので
KeyPress.shift? は true になりますが、
KeyPress.value の計算中に shift 修飾子が使用されて有効でなくなったので
KeyPress.shifty? は false になります。
例
(アクセサ)
アクセサ public KeyPress.unmodified?:
bool このイベントの関連する修飾フラグが true でない場合は true。
注意事項
(フィールド)
public KeyPress.value:
char 押されたキーの識別情報。
説明
キーが標準キー (
KeyPress.normal? を参照) である場合、この値は、押されたキーおよびキーが押されたときの shift、caps lock、num lock の各修飾子の状態から得られた標準文字です。キーが特殊キー ("F1"、"Home"、"Tab"、"→" など) である場合、この値は、
KeyPressValue によって定義されたいずれかの特殊な定数になります。
KeyPress.normal? を使用して、キーが標準キーであるかどうかを判断します。
(メソッド)
public | {KeyPress.clear-state}:void |
このメソッドは GuiEvent オブジェクトの状態をクリアするために gui-toolkit で呼び出されます。
注意事項
オーバーライド
サブクラスでは、追加されるすべての状態がクリアされるようこのメソッドをオーバーライドしてください。また、基本クラスでクリアすべきすべての状態がクリアされるように、スーパー実装を呼び出す必要もあります。
(メソッド)
この Event のスタティック イベント ハンドラを起動します。
プログラミング注意事項
オーバーライド
このメソッドは、それ自身の
スタティック イベント ハンドラに関連付けられた
Event のすべてのサブクラスでオーバーライドされます。
E クラスで定義されたオーバーライド メソッドは、次のテンプレートに従う必要があります。
{method protected {fire-methods target:GuiEventTarget}:void
{target.on-E self}
{super.fire-methods target}
}
ここで、
on-E は
E クラスに関連付けられた
スタティック イベント ハンドラ名です。
fire-methods 内のメソッド呼び出しは、Curl 言語の
スタティック イベント ハンドラ呼び出し順位の規則 (最も用途の特定されたものから最も一般的な用途のもの) に従って順序付ける必要があります。