PowerTools SPREAD for Windows Forms 10.0J
キーボード操作の概要

製品では、Windowsによるキー入力の処理をもとに、コントロールによるキー入力の処理を実装しています。System.Windows.Forms.Controlクラスで提供される、キー入力を処理するためのメソッドおよびイベントは次のとおりです。

コントロールにフォーカスがある場合:

コントロールまたは子コントロールにフォーカスがある場合:

製品では、これらの.NET Frameworkで提供されるメソッドおよびイベントに加え、「既定の入力マップ」で説明する入力マップを提供しています。入力マップは、キーボードによるコントロールの動作を記述したテーブル形式の定義です。アプリケーションはこれを使用することで、キーボードによるコントロールの動作を照会できます。入力マップとは、キー入力と、関連あるアクションのコレクションです。

製品は、コントロールにフォーカスがあるときに発生したキー入力を処理するWhenFocused入力マップと、コントロールまたは子コントロールにフォーカスがあるときに発生したキー入力を処理するWhenAncestorOfFocused入力マップを提供します。

WhenFocused入力マップは、FpSpreadクラスのIsInputKeyIsInputChar、OnKeyDown、OnKeyPressおよびOnKeyUpメソッドの実装に使用します。これらのメソッドは、KeyDown、KeyPress、およびKeyUpイベントを発生させます。

WhenAncestorOfFocused入力マップは、FpSpreadクラスのProcessDialogKeyおよびProcessDialogCharメソッドの実装に使用されます。これらのメソッドは、イベントを発生させません。

製品で処理の対象となるキー入力は、ほとんどの場合、コントロールまたは子コントロールがフォーカスをもつ場合に処理される必要があります。したがって、コントロールのキーボード動作のほとんどは、WhenAncestorOfFocus入力マップに記述されています。

キーボード操作がProcessDialogKeyおよびProcessDialogCharメソッドによって処理される場合、イベントは何も発生しません。これは、.NET Framework標準のDataGridなど、ほとんどのグリッド形式のコントロールで同様です。

コントロールには、複数の操作モード(詳細については「操作モード」を参照)があります。

操作モードごとに、それぞれ異なるキーボード動作が必要となります。そのため、製品では操作モードごとに、WhenFocusedおよびWhenAncestorOfFocused入力マップが用意されています。これらの入力マップについて理解を深めるには「キーボードマップに関する要素」を、操作モードごとに定義された既定の入力マップは「既定の入力マップ」を参照してください。

関連トピック

 

 


© 2004-2017, GrapeCity inc. All rights reserved.