API version 27

Form.KeyDownイベント変更履歴

iOSAndroidWindows

 

KeyDownイベントは、キーボードの押下で発生します。KeyDownイベントをOnKeyDownイベントハンドラで処理することにより、ショートカットキーのような表現をすることができます。

iOS版
ハードウェアキーボードの操作によるKeyDownイベントを利用するには、iOS 13.4以降のOSが必要です。

 

Eventオブジェクトには以下の子オブジェクトが付加されています。

 

名前

説明

Number

ShiftKey

Shiftキーが押されている場合は1、それ以外は0

Number

CtrlKey

Ctrlキーが押されている場合は1、それ以外は0

Number

AltKey

Altキーが押されている場合は1、それ以外は0

Number

GuiKey

プラットフォーム固有の装飾キーが押されている場合は1、それ以外は0 *1

Android版
常に0となります。

iOS版
Commandボタンが該当します。

String

Key

押されたキー

 

特殊キーに関しては後述の表を参照してください。

 

使用例

 

Function OnKeyDown(e) {
    if (e.Key == "RETURN") {
        /* Enterを押したときForm2に画面を切り替えます */
        //.Form1.Delete();
        //.Get("Form2.crs");
    }
}

 

Keyオブジェクトに格納される値(特殊キー)

 

Android版

キーの種類

格納される値

Esc"ESCAPE" *1
BackSpace"BACK" *1
ENTER"RETURN" *1
Space"SPACE" *1
Insert"INSERT" *1
Home"HOME" *1
PageUp"PRIOR" *1
Delete"DELETE" *1
End"END" *1
PageDown"NEXT" *1
方向キー左"LEFT" *1
方向キー上"UP" *1
方向キー右"RIGHT" *1
方向キー下"DOWN" *1
テンキー 0〜9"NUMPAD0"〜"NUMPAD9" *1
テンキー ."DECIMAL" *1
テンキー *"MULTIPLY" *1
テンキー +"ADD" *1
テンキー /"DIVIDE" *1
テンキー -"SUBTRACT" *1
NumLock"NUMLOCK" *1
F1〜F12"F1"〜"F12" *1
ScrollLock"SCROLL" *1

iOS版

キーの種類

格納される値

Esc"ESCAPE" *1
BackSpace"BACK" *1
ENTER"RETURN"
Space"SPACE" *1
Insert"INSERT" *1
Home"HOME" *1
PageUp"PRIOR" *1
Delete"DELETE" *1
End"END" *1
PageDown"NEXT" *1
方向キー左"LEFT" *1
方向キー上"UP" *1
方向キー右"RIGHT" *1
方向キー下"DOWN" *1
テンキー 0〜9"NUMPAD0"〜"NUMPAD9" *1
テンキー ."DECIMAL" *1
テンキー *"MULTIPLY" *1
テンキー +"ADD" *1
テンキー /"DIVIDE" *1
テンキー -"SUBTRACT" *1
テンキーEnter"SEPARATOR" *1
CapsLock"CAPITAL" *1
NumLock"NUMLOCK" *1
F1〜F12"F1"〜"F12" *1
ScrollLock"SCROLL" *1
左Shift"LSHIFT" *1
右Shift"RSHIFT" *1
左Ctrl"LCONTROL" *1
右Ctrl"RCONTROL" *1
左Command"LGUI" *1
右Command"RGUI" *1

 

iOS版では、TextBox上でソフトウェアキーボードのEnterキーを入力することによってもイベントが発生します。

装飾キーが押されたかどうかの情報(ShiftKeyCtrlKeyAltKeyGuiKey)は常に0になります。

また、Biz/Browser SmartDevice v1.6.8以降ではTextBox上でハードウェアキーボードのEnterキーを入力した場合も、装飾キーが押されたかどうかの情報は常に0になります。

 

KeyDownイベントは、Biz/Browserの画面内でキーボードフォーカスがどのオブジェクトにあたっているかで、発生するキー操作の種類や、イベントの送信元となるオブジェクトが決まります。

 

KeyDownイベントの発生元オブジェクトは、オブジェクトにキーボードフォーカスがあたっている場合、そのオブジェクトが置かれているFormオブジェクトから発生します。キーボードフォーカスがどのオブジェクトにもあたっていない場合、最も上位のFormオブジェクトから発生します。

 

キー操作における優先順序

 

ひとつのキー操作に対して複数の意味が割り当てられている状態で、実際にそのキー操作を行った場合、実行の優先順序は以下のようになっています。

 

1. Tabキー、Shift+Tabキー、またはNextTabKeyプロパティ、PrevTabKeyプロパティに設定されているキー操作は、優先的にフォーカス移動が実行されます。

2. オブジェクト固有のキー操作が実行されます。

3. Button系オブジェクトのAltKeyプロパティに割り当てられているキー操作が実行されます。

4. KeyDownイベントが発生します。

 

※ 1回のキー操作で起こる動作は、フォーカス移動、オブジェクト固有操作、AltKeyプロパティの動作、KeyDownイベント発行のいずれか1つです。

 

KeyDownイベント利用時の注意点

 

・文字入力で使用される特殊キー(BackSpaceなど)はIMEの種類やオブジェクトの状態の影響を強く受けるため、KeyDownイベントでは使用しないことを推奨します。

・OSにシステムキーやショートカットキーとして割り当てられているキーを使用すると操作性の混乱を招きますので使用しないことを推奨します(例:iOSではcommand+Hキーでホーム画面に移動します)。

・システムキーやショートカットキーとして割り当てられている場合(あるいは将来のために予約されている場合)、KeyDownイベントが発生しない場合があります。

・CapsLockやNumLockなど、キーに固有の意味のあるキーは、操作に混乱を招きますので使用しないことを推奨します。

・KeyDownイベントは、端末やOSが認識したキー操作に対して発生します。これらはキーボードのハードウェアの影響を受けます。ハードウェアによっては、キーの組み合わせによってBiz/BrowserでKeyDownイベントが発生しないことがあります。

・キーによっては、機種によってCtrl、Shift、Altキーと同時に押下したとき、別のキーとして認識されることがあります。これらの特殊なキーを利用する場合、実際に使用するキーボードで、KeyDownイベントが正しく発生することを必ず確認してください。

・ハードウェアとキーの組み合わせによっては、Ctrl、Shift、Altキーと同時に押下したにも関わらず、CtrlKey、ShiftKey、AltKeyが1($TRUE)とならないことがあります。

・キー押下にフォーカスのあたっているオブジェクトの種類により、KeyDownイベントが発生しないことがあります。

・Bluetoothキーボード等の外付けHID機器を使用した場合、OSの設定によらず英語配列のキーボードとして認識される場合があります。

 

 

変更履歴
*1 API Version 30で追加されました。


「オンラインマニュアル」一覧へ戻る
「Bizの宝箱」TOPへ戻る