1

我想在我的网格中水平滚动(继承自 DataGridView)。不是使用 Ctrl+滚动倾斜轮(鼠标滚轮),而是通过向左或向右推动鼠标滚轮。

首先,我通过在 WndProc 中捕获 WM_MOUSEHWHEEL (0x020E) 消息来尝试它,但这只会触发一次(只要我按下,我就想继续向左或向右移动)。

我使用 Spy++ 检查控件的消息,但没有发现任何有用的信息:$ 我在 Richtextbox(和记事本)上检查了相同的内容,似乎还有另一条消息触发:WM_HSCROLL (0x0114)。

Richtextbox 不会通过向左或向右推动滚轮来水平滚动,但我可以在 WndProc 函数中捕获 WM_HSCROLL。我不能在 DataGridView 中这样做(消息没有到达那里)。

所以我想知道是否有办法让这个东西工作?

问候,

别紧张

4

1 回答 1

0

您是否尝试过使用水平滚动条作为健全性检查?此处描述:堆栈溢出:鼠标倾斜轮

也可能是 DataGridView 需要键盘焦点,这就是 RichEdit 控件滚动的原因,但 DataGridView 不需要。

于 2009-11-17T21:24:14.683 回答