サンプル投稿用掲示板 VB2005 〜 用トップページ VB6.0 用 トップページ
- 日時: 2008/03/08 20:04
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[グリッド関係][マウス][] * * キーワード:MSHFlexGrid,MSFlexGrid,マウスホイール,スクロール,ホイールマウス * *********************************************************************************** 記事No : 7038 投稿日 : 2008/02/18(Mon) 20:19 元質問 : よっくん
VB2005で、AxMshFlexGridを使用しているのですがマウスホイールでスクロールさせようと してもどうやってもスクロールしません。 ----------------------------------------------------------------------------------- 記事No : 7040 投稿日 : 2008/02/18(Mon) 21:52 回答者 : 魔界の仮面弁士 ----------------------------------------------------------------------------------- > そもそもAxMshFlexGridには MouseWheelイベントがないようで…。 たとえば、このようにして実装できます。
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
|