KeyPress (クラス)
public KeyPress {inherits KeyEvent}
インポート元: CURL.GUI.STANDARD. package 内で定義されています CURL.GUI.BASE.
直接継承しているサブクラス: RecordGridKeyPress

KeyPress イベントは、任意の非修飾キーのキーストロークまたは同等のアクションを表します。

説明

ユーザーが非修飾キーを押すか、同等の入力を指定すると必ず、キーボード フォーカスを得たオブジェクトで KeyPress イベントが発生します。

KeyPress イベントは、以下を表す可能性があります。

押されたキーに関する情報は、KeyPress.value フィールドに格納されます。

KeyPress イベントが生成されたときにアクティブだった修飾キーに関する情報は、KeyPress.state-mask フィールドに格納されるので、その情報には以下のアクセッサを介してアクセスできます。



KeyPress イベントに関する他の情報には、以下のフィールドとアクセッサを介してアクセスできます。


コンストラクタ
default:新しい KeyPress オブジェクトを作成します。
コンストラクタ public {KeyPress.default}

プロパティ
flags:キープレスの型を示すキー フラグのいくつかの組み合わせ。詳細は、KeyPressFlag を参照してください。
フィールド public KeyPress.flags:int
insertable?:このイベントを使用して String への KeyPress.value の挿入をトリガできる場合は true。
アクセサ public KeyPress.insertable?:bool
keypad?:キーパッドでキーを入力した結果としてイベントが発生した場合は true。
アクセサ public KeyPress.keypad?:bool
セッター public KeyPress.keypad?:bool
normal?:キーが標準キー (KeyPressFlag.normal を参照) の場合は true なので、KeyPress.value を標準文字として使用することができます。
アクセサ public KeyPress.normal?:bool
セッター public KeyPress.normal?:bool
repeat?:オートリピート処理の結果としてイベントが発生した場合は true。
アクセサ public KeyPress.repeat?:bool
セッター public KeyPress.repeat?:bool
shifty?:KeyPress.shift? 修飾子が有効である場合は true。
アクセサ public KeyPress.shifty?:bool
セッター public KeyPress.shifty?:bool
unmodified?:このイベントの関連する修飾フラグが true でない場合は true。
アクセサ public KeyPress.unmodified?:bool
value:押されたキーの識別情報。
フィールド public KeyPress.value:char
プロパティ 継承 KeyEvent: focus-manager
プロパティ 継承 GuiInputEvent: accel?, alt?, command?, ctrl?, has-coordinates?, menu?, shift?, state-mask, test-recorded?, x, y
プロパティ 継承 GuiWindowEvent: event-time, to-DragEventInfo
プロパティ 継承 GuiEvent: consumed?

メソッド
clear-state:このメソッドは GuiEvent オブジェクトの状態をクリアするために gui-toolkit で呼び出されます。
public {KeyPress.clear-state}:void
fire-methods:この Eventスタティック イベント ハンドラを起動します。
protected {KeyPress.fire-methods target:GuiEventTarget}:void
メソッド 継承 GuiInputEvent: modifiers-match?, shift-xy
メソッド 継承 GuiWindowEvent: set-view
メソッド 継承 GuiEvent: consume
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize



コンストラクタ詳細
default (コンストラクタ)
public {KeyPress.default}

新しい KeyPress オブジェクトを作成します。




プロパティ詳細
flags (フィールド)
public KeyPress.flags:int

キープレスの型を示すキー フラグのいくつかの組み合わせ。詳細は、KeyPressFlag を参照してください。

説明

bit-or を使用してフラグを組み合わせ、 bit-and を使用してフラグをテストできます。たとえば、次の式はキーがキーパッド キーかどうかを示します。

({bit-and event.flags, KeyPressFlag.keypad} != 0)

注意事項

参照:KeyPress.normal?KeyPress.shifty?KeyPress.keypad?、および KeyPress.repeat?


insertable? (アクセサ)
アクセサ public KeyPress.insertable?:bool

このイベントを使用して String への KeyPress.value の挿入をトリガできる場合は true。

注意事項

非標準キーを表すイベント、または変更のないイベント以外のイベントを String への KeyPress.value の挿入のトリガに使用しないでください。

定義:KeyPress.normal? and KeyPress.unmodified?


keypad? (アクセサ)
アクセサ public KeyPress.keypad?:bool
セッター public KeyPress.keypad?:bool

キーパッドでキーを入力した結果としてイベントが発生した場合は true。



normal? (アクセサ)
アクセサ public KeyPress.normal?:bool
セッター public KeyPress.normal?:bool

キーが標準キー (KeyPressFlag.normal を参照) の場合は true なので、KeyPress.value を標準文字として使用することができます。



repeat? (アクセサ)
アクセサ public KeyPress.repeat?:bool
セッター public KeyPress.repeat?:bool

オートリピート処理の結果としてイベントが発生した場合は true。



shifty? (アクセサ)
アクセサ 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 になります。

KeyPressValue で定義された定数の "タブ" を取得するために Shift キーを押したまま Tab キーを押した場合、shift 修飾子は実際にアクティブになったので KeyPress.shift? は true になりますが、KeyPress.value の計算中に shift 修飾子は使用されず、有効のままなので KeyPress.shifty? は true になります。


unmodified? (アクセサ)
アクセサ public KeyPress.unmodified?:bool

このイベントの関連する修飾フラグが true でない場合は true。

注意事項

KeyPress.shifty? が true の場合にのみ、"shift" 修飾子 (KeyPress.shift?) は有効な修飾子になります。

さらに、押されたキーがスペースバーの場合、"shift" は有効になりません。

定義:not (KeyPress.value != ' ' and KeyPress.shift? and KeyPress.shifty?) and not KeyPress.ctrl? and not KeyPress.alt? and not KeyPress.command?.


value (フィールド)
public KeyPress.value:char

押されたキーの識別情報。

説明

キーが標準キー (KeyPress.normal? を参照) である場合、この値は、押されたキーおよびキーが押されたときの shift、caps lock、num lock の各修飾子の状態から得られた標準文字です。キーが特殊キー ("F1"、"Home"、"Tab"、"→" など) である場合、この値は、KeyPressValue によって定義されたいずれかの特殊な定数になります。KeyPress.normal? を使用して、キーが標準キーであるかどうかを判断します。





メソッド詳細
clear-state (メソッド)
public {KeyPress.clear-state}:void

このメソッドは GuiEvent オブジェクトの状態をクリアするために gui-toolkit で呼び出されます。

注意事項

既定の実装では GuiEvent.consumed? フィールドを false に設定します。

オーバーライド

サブクラスでは、追加されるすべての状態がクリアされるようこのメソッドをオーバーライドしてください。また、基本クラスでクリアすべきすべての状態がクリアされるように、スーパー実装を呼び出す必要もあります。


fire-methods (メソッド)
protected {KeyPress.fire-methods target:GuiEventTarget}:void

この Eventスタティック イベント ハンドラを起動します。

target: この Event を処理する GuiEventTarget

プログラミング注意事項

このメソッドは、この Eventスタティック イベント ハンドラを呼び出すときに、GuiEventTarget.handle-event によって呼び出されます。このメソッドは、適切なスタティック イベント ハンドラがすべて呼び出された後に返します。

オーバーライド

このメソッドは、それ自身のスタティック イベント ハンドラに関連付けられた Event のすべてのサブクラスでオーバーライドされます。E クラスで定義されたオーバーライド メソッドは、次のテンプレートに従う必要があります。

{method protected {fire-methods target:GuiEventTarget}:void
    {target.on-E self}
    {super.fire-methods target}
}


ここで、on-EE クラスに関連付けられたスタティック イベント ハンドラ名です。fire-methods 内のメソッド呼び出しは、Curl 言語のスタティック イベント ハンドラ呼び出し順位の規則 (最も用途の特定されたものから最も一般的な用途のもの) に従って順序付ける必要があります。