次の方法で共有


KeyboardShortcut コントロール

キーボード イベントをキャプチャして操作するために使用されるコントロール。

Note

説明書の全文とソース コードは、GitHub コード コンポーネント リポジトリ を参照してください。

説明設定

このコード コンポーネントは、keypress イベント ハンドラーを登録して、キャンバス アプリまたはカスタム ページ内でキーボード ショートカットを使用できるようにします。 モデル駆動型またはポータル アプリでの使用は意図されていません。

プロパティ

Property 説明設定
KeyConfig 監視するキーボード ショートカットを示す文字列の配列。 文字列は、JSON を使用してシリアル化する必要があります (次のセクションで示す例)。
OnKey 検出されたキーボード ショートカット。

KeyboardShortcuts コード コンポーネントをフォームに追加した後、キーの組み合わせ配列を使用して KeyConfig プロパティを構成します。

例:

["alt + r","alt + a","alt + d","alt + b","alt + p","alt + l","alt + t","alt + k"]

キーボードの組み合わせ文字列の詳細については、KeyboardJS ライブラリに移動してください。

Behavior

Keystroke イベントへの対応

キーの組み合わせを使用する場合、OnChange イベントが発生します。 次に、OnKey プロパティは組み合わせを保持します。

次のような OnChange イベントが発生する可能性があります:

If( Self.OnKey = "alt + a",
    SetFocus(txtTextbox1)
);
If( Self.OnKey = "alt + r",
    UpdateContext({ ctxResizableTextareaEvent:"SetFocus" & Text(Rand()) })
);
If( Self.OnKey = "alt + b",
    SetFocus(txtTextbox2)
);
If( Self.OnKey = "alt + k",
    UpdateContext({ ctxPickerEvent:"SetFocus" & Text(Rand()) })
);
If( Self.OnKey = "alt + d",
    UpdateContext({ ctxDropdownEvent:"SetFocus" & Text(Rand()) })
);
If( Self.OnKey = "alt + l",
    UpdateContext({ ctxTagListEvent:"SetFocus" & Text(Rand()) })
);
If( Self.OnKey = "alt + t", 
    UpdateContext({ ctxTableEvent:"SetFocusOnRow" & Text(Rand()) })
);

このイベント ハンドラーは、使用されるキーの組み合わせを指定して、さまざまなコントロールにフォーカスを合わせます。

制限

一部のキーボード ショートカットは、アプリを編集するときに Power Apps Studio によって使用され、一部はブラウザーによって使用されます。 このため、ユーザーがアプリ内にフォーカスを置くまで、このコンポーネントはすべてのキーボード ショートカットで機能しません。

このコード コンポーネントは、キャンバス アプリとカスタム ページでのみ使用できます。

制限に関する注記の詳細については、GitHubドキュメントのセクションの コンポーネント設計の課題 をご覧ください。