特定のセル上でマウスカーソルを変更するには?

文書番号 : 16850     文書種別 : 使用方法     最終更新日 : 2005/02/03
文書を印刷する
対象製品
El Tabelle for .NET 2.0J
詳細
特定のセル上でのみシートのマウスカーソルを変更するには、MouseMove イベントで Sheet クラスの HitTest メソッドを使用します。El Tabelle の既定のマウスカーソルはカスタムカーソルである点に注意してください。既定のマウスカーソルは定数で設定することができません。

[Visual Basic]
Private Sub Sheet1_MouseMove(ByVal sender As Object, _
  ByVal e As System.Windows.Forms.MouseEventArgs) Handles Sheet1.MouseMove

  Dim objRange As New GrapeCity.Win.ElTabelle.Range()

  'セルの場合
  If Sheet1.HitTest(New Point(e.X, e.Y), objRange) = _
    GrapeCity.Win.ElTabelle.SheetArea.Cell Then
    'マウスカーソルが指し示すセルにC3セルが含まれているか確認する
    If objRange.Contains(New GrapeCity.Win.ElTabelle.Position("C3")) = _
      True Then
      'シートのマウスカーソルをハンドに変更する
      Sheet1.CrossCursor = System.Windows.Forms.Cursors.Hand
    Else
      'シートのマウスカーソルをデフォルトのカスタムカーソルに変更する
      Sheet1.CrossCursor = Nothing
    End If
  End If

End Sub


[C#]
private void sheet1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
  GrapeCity.Win.ElTabelle.Range objRange;

  //セルの場合
  if(sheet1.HitTest(new Point(e.X, e.Y), out objRange) ==
    GrapeCity.Win.ElTabelle.SheetArea.Cell)
  {
    //マウスカーソルが指し示すセルにC3セルが含まれているか確認する
    if(objRange.Contains(new GrapeCity.Win.ElTabelle.Position("C3")) == true)
    {
      //シートのマウスカーソルをハンドに変更する
      sheet1.CrossCursor = System.Windows.Forms.Cursors.Hand;
    }else{
      //シートのマウスカーソルをデフォルトのカスタムカーソルに変更する
      sheet1.CrossCursor = null;
    }
  }
}
キーワード
HowTo

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