FocusManager クラス

FocusManager クラスを使用すると、ユーザーが Tab キーを押してアプリケーション内を移動するときにコンポーネントがフォーカスを取得する順序を指定できます。 また、フォーカスマネージャを使用すれば、ユーザーが Enter キー (Windows) または Return キー (Macintosh) を押したときにキーボード入力を取得するドキュメント内のボタンを設定することもできます。 たとえば、ユーザーがフォーム内にデータを入力するとき、Tab キーでフィールド間を移動でき、Enter キー (Windows) または Return キー (Macintosh) でフォームを送信するという操作ができることが望まれます。

フォーカスマネージャサポートはすべてのコンポーネントに実装されているので、FocusManager クラスを呼び出すコードを書く必要はありません。

メモ

 

フォーカスマネージャのサポートにより、on(keyPress) グローバルハンドラの使用は無効化されます。 すべてのコンポーネントはフォーカスマネージャを実装しているので、コンポーネントを含んだアプリケーションで on(keyPress) グローバルハンドラも使用する場合は、各コントロールごと (コンポーネントおよびムービークリップを含む) に tabIndex を明示的に設定する必要があります (フォーカスマネージャの使用を参照)。 それよりも望ましい方法として、特定のキーに対しイベントリスナーを追加することもできます。この方法では、対応するイベントハンドラがフォーカスマネージャによって無効化されることはありません。 キーに対してイベントリスナーを作成する方法については、『ActionScript 2.0 の学習』のキー押下動作の取得を参照してください。

フォーカスマネージャは System Manager と相互にやり取りします。ポップアップウィンドウがアクティブまたは非アクティブになると、System Manager が FocusManager インスタンスをアクティブ化または非アクティブ化します。 各モーダルウィンドウはそれぞれが独自に FocusManager のインスタンスを持ちます。そのため、ウィンドウ内のコンポーネントに独自のタブセットが適用され、ユーザーが Tab キーを押して別のウィンドウ内のコンポーネントに移動することはありません。

フォーカスマネージャは、同じ RadioButton.groupName プロパティが定義されているラジオボタンのグループを認識し、そのグループ内で selected プロパティが true に設定されているインスタンスにフォーカスを与えます。 Tab キーが押されると、フォーカスマネージャは、次のオブジェクトが現在のオブジェクトと同じグループ名を持っているかどうかを調べます。 同じ場合は、別のグループ名を持つ次のオブジェクトに自動的にフォーカスを移動します。 groupName プロパティをサポートしているその他のコンポーネント群でも、この機能を使用できます。

フォーカスマネージャは、マウスのクリックによるフォーカスの変化を管理します。 ユーザーがコンポーネントをクリックすると、そのコンポーネントにフォーカスが移ります。

メモ

 

フォーカスマネージャを使用してスクリプトをテストする場合は ([制御]-[ムービープレビュー])、プレビューモードで [制御]-[キーボードショートカットを無効] を選択します。選択しないと、フォーカスマネージャが動作しません。 また、デフォルトでは、タブとキーボードショートカットもオーサリング環境で使用されます。 このため、プレビューモードでナビゲーション、Enter キー、およびその他のキーの組み合わせを使用すると、予期しない動作をするか、または操作が失敗する場合があります。 これらの機能は、オーサリング環境以外のプレーヤーでテストしてください。

関連トピック


 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flash/8_jp/main/00003655.html