iOSAndroidWindows
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.Key == "G") {
/* 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イベントは、端末やOSが認識したキー操作に対して発生します。これらはキーボードのハードウェアの影響を受けます。ハードウェアによっては、キーの組み合わせによってBiz/BrowserでKeyDownイベントが発生しないことがあります。
・キーによっては、機種によってCtrl、Shift、Altキーと同時に押下したとき、別のキーとして認識されることがあります。これらの特殊なキーを利用する場合、実際に使用するキーボードで、KeyDownイベントが正しく発生することを必ず確認してください。
・ハードウェアとキーの組み合わせによっては、Ctrl、Shift、Altキーと同時に押下したにも関わらず、CtrlKey、ShiftKey、AltKeyが1($TRUE)とならないことがあります。
・キー押下にフォーカスのあたっているオブジェクトの種類により、KeyDownイベントが発生しないことがあります。