ExitOnLastCharプロパティをTrueに設定すると、入力された文字列が、
Formatプロパティで設定した最大文字数に達したときに、自動的に次のコントロールへフォーカスを移動できます。
ExitOnLeftRightKeyプロパティを使用すると、キャレットがコントロール内のテキストの最初または最後の文字上にある状態で、[→]、[←]、または[Ctrl]+[→]、[Ctrl]+[←]の各キーを押したときに、フォーカスを前後のコントロールに移動することができます。 ExitOnLeftRightKeyプロパティに設定できる値は次のとおりで、既定値は
ExitOnLeftRightKey.Noneです。
ExitOnLeftRightKeyの値 |
説明 |
None |
矢印キーを使ってフォーカスを移動することはできません。 |
Left |
キャレットが入力中のテキストの左端にあるときに[←]キーまたは[Ctrl]+[←]キーを押すと、フォーカスは1つ前のコントロールに移動します。 |
Right |
キャレットが入力中のテキストの右端にあるときに[→]キーまたは[Ctrl]+[→]キーを押すと、フォーカスは次のコントロールに移動します。 |
Both |
「Left」と「Right」の両方の機能を使用できます。 |
コントロールのフォーカス遷移は、以下の方法で検出できます。
1. フォーカス取得
コントロールがフォーカスを取得すると、クライアント側で
onfocusイベントが発生します。
2. フォーカス移動
コントロールからフォーカスが移動すると、クライアント側で
onblurイベントが発生します。
3. キー入力によるフォーカス移動
[→]、[←]、[Ctrl]+[→]、[Ctrl]+[←]、[Tab]、[Shift]+[Tab]の各キー、またはショートカットエクステンダで割り当てたキー(
KeyActions.NextControlまたは
KeyActions.PreviousControlを設定したキー)を使用して、フォーカスを前後のコントロールに移動したときには、
KeyExitクライアントイベントが発生します。
|
ショートカットエクステンダのGcShortcutオブジェクトを使ってコントロールの機能を特定のキーに割り当てた場合、それらのキーに割り当てられていたデフォルトの機能は動作しなくなります。 また、TabActionプロパティの設定内容によって、キーボードを操作したときの動作が異なります。詳しくは、次項を参照してください。 |
マスクコントロールの表示領域は、通常、リテラル文字列と入力フィールドの2種類に分かれています。 フィールドについては「
書式の設定」を参照してください。
TabActionプロパティを
TabAction.Controlに設定すると、[Tab]キーまたは[Shift]+[Tab]キーによるフォーカス移動は、コントロール 間で行われます。
TabAction.Fieldに設定すると、フォーカス移動は入力フィールド間で行われます。
また、マスクコントロールのナビゲーションや選択などの操作は、リテラル文字列と入力フィールドの位置関係による影響を受けます。
CursorPositionプロパティと
HighlightTextプロパティを使用すると、コントロールがフォーカスを受け取ったときにキャレットを配置するフィールドまたは選択状態にするフィールドを指定できます。
HighlightTextの値 |
キャレットまたはフィールドの状態 |
None |
キャレットは、CursorPositionプロパティで指定したフィールドの最初の桁に位置します。 |
Field |
CursorPositionプロパティで指定したフィールドが選択状態になります。 |
All |
CursorPositionプロパティの設定に関わらず、コントロール内のすべての内容が選択状態になります。 |