KeyDownイベントは、キーボードの押下で発生します。KeyDownイベントをOnKeyDownイベントハンドラで処理することにより、アクセラレータのような挙動を表現することができます。
Eventオブジェクトには以下の子オブジェクトが付加されています。
型 |
名前 |
説明 |
Number |
ShiftKey |
Shiftキーが押されている場合は1、それ以外は0 |
Number |
CtrlKey |
Ctrlキーが押されている場合は1、それ以外は0 |
Number |
AltKey |
Altキーが押されている場合は1、それ以外は0 |
String |
Key |
押されたキー 特殊キーに関しては後述の表を参照してください。 |
使用例
Function OnKeyDown(e) {
if (e.CtrlKey == 1 && e.Key == "G") {
/* Ctrl+Gを押したときForm2に画面を切り替えます */
//.Form1.Delete();
//.Get("Form2.crs");
}
}
キーの種類 |
格納される値 |
Esc |
"ESCAPE" |
BackSpace |
"BACK" |
Tab |
"TAB" |
ENTER |
"RETURN" |
変換 |
"CONVERT" |
無変換 |
"NONCONVERT" |
Space |
"SPACE" |
Insert |
"INSERT" |
Home |
"HOME" |
PageUp |
"PRIOR" |
Delete |
"DELETE" |
End |
"END" |
PageDown |
"NEXT" |
方向キー左 |
"LEFT" |
方向キー上 |
"UP" |
方向キー右 |
"RIGHT" |
方向キー下 |
"DOWN" |
PauseBreak |
"PAUSE" |
左Windowsキー |
"LWIN" |
右Windowsキー |
"RWIN" |
テンキー
0〜9 |
"NUMPAD0"〜"NUMPAD9" |
テンキー . |
"DECIMAL" |
テンキー
* |
"MULTIPLY" |
テンキー
+ |
"ADD" |
テンキー
/ |
"DIVIDE" |
テンキー
- |
"SUBTRACT" |
NumLock |
"NUMLOCK" |
F1〜F24 |
"F1"〜"F24" |
ScrollLock |
"SCROLL" |
KeyDownイベントは、Biz/Browserの画面内でキーボードフォーカスがどのオブジェクトにあたっているかで、発生するキー操作の種類や、イベントの送信元となるオブジェクトが決まります。
KeyDownイベントの発生元オブジェクトは、オブジェクトにキーボードフォーカスがあたっている場合、そのオブジェクトが置かれているFormオブジェクトから発生します。キーボードフォーカスがどのオブジェクトにもあたっていない場合、最も上位のFormオブジェクトから発生します。
ひとつのキー操作に対して複数の意味が割り当てられている状態で、実際にそのキー操作を行った場合、実行の優先順序は以下のようになっています。
1. Tabキー、Shift+Tabキー、またはNextTabKeyプロパティ、PrevTabKeyプロパティに設定されているキー操作は、優先的にフォーカス移動が実行されます。
2. オブジェクト固有のキー操作が実行されます。
3. Button系オブジェクトのAltKeyプロパティに割り当てられているキー操作が実行されます。
4. KeyDownイベントが発生します。
※ 1回のキー操作で起こる動作は、フォーカス移動、オブジェクト固有操作、AltKeyプロパティの動作、KeyDownイベント発行のいずれか1つです。
・文字入力で使用される特殊キー(漢字、無変換、BackSpaceなど)はIMEの種類やオブジェクトの状態の影響を強く受けるため、KeyDownイベントでは使用しないことを推奨します。
・システムキー(システムメニュー Alt+Spaceやウィンドウ切り替え Alt+Tabなど)と同じキーを使用すると、操作性の混乱を招きますので使用しないことを推奨します。
・PrintScreenやPauseなど、キーに固有の意味のあるキーは、操作に混乱を招きますので使用しないことを推奨します。
・KeyDownイベントは、Windowsが認識したキー操作に対して発生します。Windowsのキー操作の認識は、キーボードのハードウェアの影響を受けます。例えば、NumLockキーとScrollLockキーを1個のボタンで兼用してShiftキーで選択している機種もあります。こうしたキーボードでは、Shift+ScrollLockは、発生しません。
・Pause、NumLockなどの特殊キーでは、機種によっては、Ctrl、Shift、Altキーと同時に押下したとき、別のキーとして認識されることがあります。これらの特殊キーを利用する場合、実際に使用するキーボードで、KeyDownイベントが正しく発生することを必ず確認してください。
・キー押下にフォーカスのあたっているオブジェクトの種類により、KeyDownイベントが発生しないことがあります。
Android版に起きましてはキーイベントが発生するオブジェクトや使用可能なキーに制限があります。
詳しくはAndroid版の特徴と制約を参照してください。