コミュニティでの活動の履歴として、自身(Orator/魔界の仮面弁士)が掲示板・Mailing List・Newsgroup等へ発言した内容の中で、再利用できそうな物を拾い出して、掲載しています。

« [VB6]列番号をExcelの列名形式に変更 | Main | Access2007 へのバージョンアップ作業 »
[.NET]AxMSHFlexGridでMouseWheelイベントを実装 / 2008年02月18日(月)

「AxMshFlexGridでホイールが効かない」という質問を受けて作ったものです。VB2005を前提としたコードになっています。


[02/18/2008]VBレスキュー(VB.NET掲示板)

Partial Public Class Form1
	Public Class SampleGrid
		Inherits AxMSHierarchicalFlexGridLib.AxMSHFlexGrid
		Public Shadows Event MouseWheel As MouseEventHandler
		Protected Overrides Sub OnMouseWheel(ByVal e As MouseEventArgs)
			RaiseEvent MouseWheel(Me, e)
			MyBase.OnMouseWheel(e)
		End Sub
	End Class

	Private WithEvents AxMSHFlexGrid1 As SampleGrid
	Private Sub Form1_Load(ByVal sender As System.Object, _
	  ByVal e As System.EventArgs) Handles MyBase.Load
		AxMSHFlexGrid1 = New SampleGrid()
		AxMSHFlexGrid1.Dock = DockStyle.Fill
		Controls.Add(AxMSHFlexGrid1)

		FillSampleData(AxMSHFlexGrid1)
	End Sub

	Private Sub AxMSHFlexGrid1_MouseWheel(ByVal sender As Object, _
	  ByVal e As MouseEventArgs) Handles AxMSHFlexGrid1.MouseWheel
		Dim row As Integer = AxMSHFlexGrid1.TopRow - _
			(e.Delta \ SystemInformation.MouseWheelScrollDelta)
		If row < AxMSHFlexGrid1.FixedRows Then
			row = AxMSHFlexGrid1.FixedRows
		ElseIf row > AxMSHFlexGrid1.Rows - 1 Then
			row = AxMSHFlexGrid1.Rows - 1
		End If
		AxMSHFlexGrid1.TopRow = row
	End Sub

	Private Shared Sub FillSampleData( _
	  ByVal grid As AxMSHierarchicalFlexGridLib.AxMSHFlexGrid)
		With grid
			.Rows = 200
			'.Cols = 20
			.set_Cols(20)
			Dim Cells As New System.Text.StringBuilder()
			For row As Integer = 0 To 199
				For col As Integer = 0 To 19
					Cells.Append(String.Format("{0,3}-{1,3}", row, col))
					Cells.Append(vbTab)
				Next
				Cells.AppendLine()
			Next
			.Row = 0
			.Col = 0
			.RowSel = 199
			.ColSel = 19
			.Clip = Cells.ToString()
			.RowSel = 0
			.ColSel = 0
		End With
	End Sub
End Class

Posted at 22:02 / .NET / この記事のURL
コメント(0)
この記事のURL
https://yaplog.jp/orator/archive/78
コメントする
名前:
Email:
URL:
クッキーに保存
小文字 太字 斜体 下線 取り消し線 左寄せ 中央揃え 右寄せ テキストカラー 絵文字

コメント

P R

Microsoft Most Valuable Professional, Visual Developer - Visual BasicMSMVP for Visual Basic

   
Global Media Online INC.