MESCIUS SPREAD for Windows Forms 17.0J
入力マップのカスタマイズ

コントロールのアクションに、既定で割り当てられているキーを使用できます。既定のキーの割り当てをカスタマイズし、任意のキー、またはキーの組み合わせを、任意のアクションに割り当てられます。まずは、「キーボードマップに関する要素」を参照してください。

キー、またはキーの組み合わせを割り当てることができるアクションは、SpreadActionsクラスのフィールドとして定義されています。

既定の入力マップでは「既定の入力マップ」に記載されたキー入力およびアクションが割り当てられています。入力マップは操作モードごとに、フォーカス位置に応じて定義されています。入力マップをカスタマイズするには、操作モードに対応した適切な入力マップを設定するよう注意してください。

[プロパティ]ウィンドウまたはSPREADデザイナで入力マップをカスタマイズすることはできません。

設定方法

  1. FpSpreadクラスのGetInputMapメソッドで、フォーカス位置に応じてWhenFocused、またはWhenAncestorOfFocused入力マップを参照します。
  2. InputMapクラスのPutメソッドで、対象のキーをアクションに割り当てます。

サンプルコード

次のサンプルコードは、既定の操作モード(標準モード)の入力マップをカスタマイズします。フォーカスがセルのエディタにある状態(セルが編集中)を表すWhenAncestorOfFocused入力マップ、およびフォーカスがコントロールにある状態(セルは非編集状態)を表すWhenFocused入力マップをカスタマイズします。いずれの状態でも[Enter]キーによってアクティブセルが次の行に移動するように設定します。

C#
コードのコピー
// InputMapオブジェクトを作成します。
FarPoint.Win.Spread.InputMap inputmap1;
// 既存のマップにこのInputMapオブジェクトを割り当てます。
inputmap1 = fpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenAncestorOfFocused);
// [Enter]キーをマップします。
inputmap1.Put(new FarPoint.Win.Spread.Keystroke(Keys.Enter, Keys.None), FarPoint.Win.Spread.SpreadActions.MoveToNextRow);
// 別のInputMapオブジェクトを作成します。
FarPoint.Win.Spread.InputMap inputmap2;
// 既存のマップにこのInputMapオブジェクトを割り当てます。
inputmap2 = fpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenFocused);
// [Enter]キーをマップします。
inputmap2.Put(new FarPoint.Win.Spread.Keystroke(Keys.Enter, Keys.None), FarPoint.Win.Spread.SpreadActions.MoveToNextRow);
Visual Basic
コードのコピー
' InputMapオブジェクトを作成します。
Dim inputmap1 As New FarPoint.Win.Spread.InputMap()
' 既存のマップにこのInputMapオブジェクトを割り当てます。
inputmap1 = FpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenAncestorOfFocused)
' [Enter]キーをマップします。
inputmap1.Put(New FarPoint.Win.Spread.Keystroke(Keys.Enter, Keys.None), FarPoint.Win.Spread.SpreadActions.MoveToNextRow)
' 別のInputMapオブジェクトを作成します。
Dim inputmap2 As New FarPoint.Win.Spread.InputMap()
' 既存のマップにこのInputMapオブジェクトを割り当てます。
inputmap2 = FpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenFocused)
' [Enter]キーをマップします。
inputmap2.Put(New FarPoint.Win.Spread.Keystroke(Keys.Enter, Keys.None), FarPoint.Win.Spread.SpreadActions.MoveToNextRow)
参照

 

 


© MESCIUS inc. All rights reserved.