可以通过重载ScrollableControl所在控件WndProc函数来处理滚动事件,比如: protected override void WndProc(ref System.Windows.Forms.Message m)
{
int local0; local0 = m.Msg;
switch (local0 - 276)
{
case 1:
//handle VScroll; For example:
this.BackColor=Color.AliceBlue;
break;
case 0:
//handle HScroll;
this.BackColor=Color.DarkGray;
break;
}
base.WndProc(ref m);
}
{
int local0; local0 = m.Msg;
switch (local0 - 276)
{
case 1:
//handle VScroll; For example:
this.BackColor=Color.AliceBlue;
break;
case 0:
//handle HScroll;
this.BackColor=Color.DarkGray;
break;
}
base.WndProc(ref m);
}
我已经可以控制AutoScrollBar了。
但对于276我还是有点不太明白,是不是每个windows的消息都有一个对应的代码,我在那里可以查到这些代码?
谢谢!
(0x114 WM_HSCROLL) and (0x115 WM_VSCROLL)在c++头文件winuser.h中定义的。
#define WM_HSCROLL 0x0114
#define WM_VSCROLL 0x0115其实直接用这两个消息更容易读。"C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WinUser.h"
我现在可以处理AutoScrollBar的事件了,但我可以向控制标准的HScrollBar,VScrollBar控件一样对AutoScrollBar进行设置吗?比如HScrollBar的Maximum,Minimum,SmallChange等属性。
ScrollableControl.AutoScrollMinSize