所以,直接响应对话框的WM_VSCROLL和WM_HSCROLL消息就可以了
若对话框中有多个滚动条,则可以用WM_VSCROLL和WM_HSCROLL消息响应函数中的参数CScrollBar*
pScrollBar来进行判断
测试了一下,可以使用自定义事件。
public partial class Form1 : Form{
//定义事件
public event EventHandler HScrollEvent
public event EventHandler VScrollEvent
public Form1()
{
InitializeComponent()
//注册事件
this.VScrollEvent += delegate
{
{ this.Text = "纵向滚动了!" }
}
}
protected override void WndProc(ref Message m)
{
//在输出窗口自己看对应的数字是多少
Debug.Print(m.Msg.ToString())
switch (m.Msg.ToString())
{
case "528"://我测试对应垂直滚动
//引发事件
if (this.VScrollEvent != null)
this.VScrollEvent(this, null)
break
case "你自己检测数字":
if (this.HScrollEvent != null)
this.HScrollEvent(this, null)
break
default:
break
}
base.WndProc(ref m)
}
private void button1_Click(object sender, EventArgs e)
{
this.Text = ""//清空便于对比
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)