|
分類:[.NET 全般]
<pre><pre>環境 vb.net2005以降 spread 5.0J
vb及び.net関係は初心者です。 スプレッドシートのセルが編集中(カーソルが表示されている状態)のときに←→キーを押してもフォーカスが移動されません。 あるサイトからimputmapという物で特定のキーボードをspread上で押下した際に動作するようプログラムを修正しました。 下記に記載します。
'spreadシート名はspr1 Dim im As New FarPoint.Win.Spread.InputMap
'非編集セルでの[Left(←)]キーを「1つ左のセルへ移動」とします im = spr1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenFocused) im.Put(New FarPoint.Win.Spread.Keystroke(Keys.Left, Keys.None), FarPoint.Win.Spread.SpreadActions.MoveToPreviousColumn)
'編集中セルでの[Left(←)]キーを「1つ左のセルへ移動」とします im = spr1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenAncestorOfFocused) im.Put(New FarPoint.Win.Spread.Keystroke(Keys.Left, Keys.None), FarPoint.Win.Spread.SpreadActions.MoveToPreviousColumn)
'非編集セルでの[Right(→)]キーを「1つ右のセルへ移動」とします im = spr1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenFocused) im.Put(New FarPoint.Win.Spread.Keystroke(Keys.Right, Keys.None), FarPoint.Win.Spread.SpreadActions.MoveToNextColumn)
'編集中セルでの[Right(→)]キーを「1つ右のセルへ移動」とします im = spr1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenAncestorOfFocused) im.Put(New FarPoint.Win.Spread.Keystroke(Keys.Right, Keys.None), FarPoint.Win.Spread.SpreadActions.MoveToNextColumn)
上記のソースでアプリを起動したところ、非編集状態で←→キーを押下した際は予想通りに動作しましたが編集中では←→キーを押下しても 動作しませんでした。 スプレッドデザイナのプロパティ又はform上のプロパティの設定が必要なのでしょうか? ソース内でプロパティの設定している箇所を探してみましたが特にセルに対してのキー操作を制御している箇所は見当たりませんでした。 どなたかアドバイスをいただけませんか?
</pre></pre>
|