【セル型全般】 アクティブセルのフォーカス枠をカスタマイズ(線種変更、非表示設定など)することはできますか?

文書番号 : 16219     文書種別 : 使用方法     最終更新日 : 2005/01/14
文書を印刷する
対象製品
SPREAD for .NET Windows Forms Edition
詳細
現バージョンではアクティブセルのフォーカス枠を非表示とする機能は提供されておらず、また線種などをカスタマイズすることも出来ません。このような場合は、例えばユーザーのセル移動操作によって発生するLeaveCellイベントを実装し、移動元/移動先のセルに対して罫線や背景色を設定することで強調表示を行うこともご検討ください。

◎サンプルコード(VB)
  '罫線定義
  Private lb As New FarPoint.Win.LineBorder(Color.Red, 3)

  Private Sub FpSpread1_LeaveCell(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.LeaveCellEventArgs) Handles FpSpread1.LeaveCell
    '移動前セルの罫線をリセット
    FpSpread1.ActiveSheet.Cells(e.Row, e.Column).ResetBorder()
    '移動先セルの罫線を設定
    FpSpread1.ActiveSheet.Cells(e.NewRow, e.NewColumn).Border = lb
  End Sub

◎サンプルコード(C#)
  //罫線定義
  private FarPoint.Win.LineBorder lb = new FarPoint.Win.LineBorder(Color.Red, 3);

  private void fpSpread1_LeaveCell(object sender, FarPoint.Win.Spread.LeaveCellEventArgs e)
  {
    //移動前セルの罫線をリセット
    fpSpread1.ActiveSheet.Cells[e.Row, e.Column].ResetBorder();
    //移動先セルの罫線を設定
    fpSpread1.ActiveSheet.Cells[e.NewRow, e.NewColumn].Border = lb;
  }

なお、SPREADコントロールから別コントロールへフォーカスを遷移させた場合に限り、FpSpreadクラスメンバであるRetainSelectionBlockプロパティを「False」に定義しておくことで、選択中のセル範囲のフォーカス枠を維持しない(表示しない)ようにすることは可能です。詳細については製品ヘルプをご参照ください。

◎サンプルコード
  Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
    FpSpread1.RetainSelectionBlock = False
  End Sub
関連情報
キーワード
機能・仕様 問題 外観

この文書は、以前は次のFAQ IDで公開されていました : 6186