作成日: 2018/11/29 最終更新日: 2018/11/29
文書種別
使用方法
詳細
マウスホイール操作を禁止する機能は搭載しておりませんが、GcMultiRowクラスを継承したコントロールのWndProcメソッド内でマウスホイールの操作をキャンセルすることが可能です。
以下にサンプルコードを紹介します。
[Visual Basic]
[C#]
以下にサンプルコードを紹介します。
[Visual Basic]
Public Class Form1 Private CustomGrid1 As CustomGrid Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load ' 独自のグリッドの生成 CustomGrid1 = New CustomGrid CustomGrid1.Dock = DockStyle.Fill CustomGrid1.Template = GrapeCity.Win.MultiRow.Template.CreateGridTemplate(2) CustomGrid1.RowCount = 20 Me.Controls.Add(CustomGrid1) End Sub End Class ' GcMultiRowを継承したクラスの作成 Public Class CustomGrid Inherits GrapeCity.Win.MultiRow.GcMultiRow Protected Overrides Sub WndProc(ByRef m As Message) ' マウスホイール操作のキャンセル Const WM_MOUSEWHEEL As Integer = &H20A If m.Msg = WM_MOUSEWHEEL Then m.Msg = 0 End If ' 本来の動作の実行 MyBase.WndProc(m) End Sub End Class
[C#]
private CustomGrid CustomGrid1;
private void Form1_Load(object sender, EventArgs e)
{
// 独自のグリッドの生成
CustomGrid1 = new CustomGrid();
CustomGrid1.Dock = DockStyle.Fill;
CustomGrid1.Template = GrapeCity.Win.MultiRow.Template.CreateGridTemplate(2);
CustomGrid1.RowCount = 20;
this.Controls.Add(CustomGrid1);
}
// GcMultiRowを継承したクラスの作成
public class CustomGrid : GrapeCity.Win.MultiRow.GcMultiRow
{
protected override void WndProc(ref Message m)
{
// マウスホイール操作のキャンセル
const Int32 WM_MOUSEWHEEL = 0x20A;
if (m.Msg == WM_MOUSEWHEEL)
{
m.Msg = 0;
}
// 本来の動作の実行
base.WndProc(ref m);
}
}
旧文書番号
83431