PowerTools SPREAD for Windows Forms 8.0J
カーソル

表示部分に合わせて、カーソル(ポインタ)の表示を変えることができます。 カーソルの表示を定義するには、FpSpreadクラスのGetCursorメソッド、SetCursorメソッド、およびCursorType列挙体を使用します。

ヘッダセル上のハンドカーソル

  • コントロールでは、ロックされたセルのカーソル(CursorType列挙体が「Locked」)とロック解除されたセルのカーソル(CursorType列挙体が「Normal」)が、個別に設定されます。セル型ごとに異なるカーソルを表示することはできません。
  • カーソルの位置を取得する方法については「ヒットテストによるカーソルの特定」を参照してください。

セル型と予約領域

組み込みのハイパーリンク型セルは、デフォルトで、リンク上のカーソルを手の形に設定します。詳細は「ハイパーリンク型セル」を参照してください。

一部のセル型(コマンドボタン型、チェックボックス型、コンボボックス型、ハイパーリンク型など)では、特殊なマウス処理が必要となる領域がセル内で予約されています。たとえば、コンボボックス型セルのドロップダウンボタン上でマウスをクリックすると、セルはただちに編集モードに切り替わります。特殊領域の場所、およびこの領域上で使用されるカーソルの種類は、対象のセル型クラスのIsReservedLocationおよびGetReservedCursorメソッドで定義されています。組み込みのセル型が使用するカーソルを変更するには、セル型クラスからクラスを派生させ、GetReservedCursorメソッドをオーバーライドします。

GetReservedCursorメソッドは、IsReservedLocationがnull以外の値を返す場所でのみ呼び出されます。IsReservedLocationメソッドはnull(VBではNothing)またはnull以外の値を返すことによって、セル領域を2つの領域、つまり通常の領域と予約領域に区分します。通常の領域では、マウスの押下はSPREADによって処理され、セルの選択が開始されます。マウスカーソルはSPREADコンポーネントによって決定されます(GetReservedCursorは呼び出されない)。予約されたサブ領域では、マウスの押下でただちにセルの編集が開始されます。マウスの押下は、セルエディタによって処理されます。マウスカーソルはGetReservedCursorメソッドを介し、セル型によって決定されます。予約されたサブ領域では、セル型に固有のカーソルを独自に提供できますが、通常領域では、セル型固有のカーソルを提供することはできません。

サンプルコード

次のサンプルコードは、上図のように、手の形のカーソルが表示されるように設定します。

C#
コードのコピー
private void Form1_Load(object sender, System.EventArgs e) {
    // 列ヘッダ上のカーソルの形状を変更します。
    fpSpread1.SetCursor(FarPoint.Win.Spread.CursorType.ColumnHeader, System.Windows.Forms.Cursors.Hand);
}
Visual Basic
コードのコピー
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
    ' 列ヘッダ上のカーソルの形状を変更します。
    FpSpread1.SetCursor(FarPoint.Win.Spread.CursorType.ColumnHeader, System.Windows.Forms.Cursors.Hand)
End Sub
関連トピック

 

 


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