MESCIUS SPREAD for Windows Forms 17.0J サンプルコード集
デフォルトの入力マップを無効にする

例えばシート上での[F2]キー押下により、デフォルトではアクティブセルのデータクリアが行われます。しかし、この入力マップのを変更することにより、SPREADにて本来行われるべき処理を無効にすることができます。

  • 入力マップには2種類の適用条件があります。
    1. WhenFocused(コントロールにフォーカスがある場合:セル非編集モード)
    2. WhenAncestorOfFocused(コントロールまたはその子にフォーカスがある場合:セル編集モード)
  • 入力マップによる動作は、設定されているシートの操作モード(SheetViewクラスのOperationModeプロパティ)やセルの編集状態に大きく関係します。そのため、変更時には十分な動作検証を行う必要があります。
  • 編集中セルでは入力用のエディタコントロール(FpSpread1.EditingControl)が使われます。当コントロールはOSが提供するエディタクラスを利用しているため、例えば編集中セルにおける[BackSpace]キーなど、一般的な入力補助機能を制御することはできません。

 private void Form1_Load(object sender, System.EventArgs e)
 {

   FarPoint.Win.Spread.InputMap im = new FarPoint.Win.Spread.InputMap();

   //非編集セルでの[F2]キーを無効とします
   im = fpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenFocused);
   im.Put(new FarPoint.Win.Spread.Keystroke(Keys.F2, Keys.None), FarPoint.Win.Spread.SpreadActions.None);

   //編集中セルでの[F2]キーを無効とします
   im = fpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenAncestorOfFocused);
   im.Put(new FarPoint.Win.Spread.Keystroke(Keys.F2, Keys.None), FarPoint.Win.Spread.SpreadActions.None);

 }
 Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load

   Dim im As New FarPoint.Win.Spread.InputMap

   '非編集セルでの[F2]キーを無効とします
   im = FpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenFocused)
   im.Put(New FarPoint.Win.Spread.Keystroke(Keys.F2, Keys.None), FarPoint.Win.Spread.SpreadActions.None)

   '編集中セルでの[F2]キーを無効とします
   im = FpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenAncestorOfFocused)
   im.Put(New FarPoint.Win.Spread.Keystroke(Keys.F2, Keys.None), FarPoint.Win.Spread.SpreadActions.None)

 End Sub

 

 


© MESCIUS inc. All rights reserved.