2009-11-16 104 views
1

我想在我的網格中滾動水平(從DataGridView繼承)。 不是用Ctrl +滾動tiltwheel(鼠標滾輪),而是通過向左或向右推動鼠標滾輪。Datagridview中的水平滾動

首先我試着通過捕獲WndProc中的WM_MOUSEHWHEEL(0x020E)消息,但是這隻會觸發一次(並且只要我按下,我想繼續向左或向右移動)。我使用Spy ++來檢查我的控件的消息,但沒有發現任何有用的信息:$ 我在Richtextbox(和記事本)上查看了相同的消息,並且似乎還有另一條消息:WM_HSCROLL(0x0114)。

richtextbox不會左右滾動水平滾動,但我可以捕獲WndProc函數中的WM_HSCROLL。我不能在DataGridView中執行此操作(消息不會到達那裏)。

所以我想知道是否有辦法讓這個東西工作?

問候,

TakeItEasy

回答

0

你有使用水平滾動條爲健全檢查嘗試過嗎?在這裏描述:Stack Overflow : Mouse Tilt Wheel

它也可能是DataGridView需要鍵盤焦點,這就是爲什麼RichEdit控件滾動,但DataGridView沒有。

+0

布萊恩嗨,這一切都歸功於回答:) 我忘了 第1件事:設置m.Result到(IntPtr的)1。 當我這樣做的消息不斷髮射。如果我不這個消息只會觸發一次。 問候, TakeItEasy – TakeItEasy 2009-11-20 08:54:32

+0

的問題在得到解決: http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/91589821-27e6-48fc-9330-3b93c5d7245a – TakeItEasy 2010-02-17 14:06:55