我想捕获HScrollBar控件的左键抬起的事件,查找相关文件发现左键抬起的windows接口定义为0x0202
于是在自定义控件下继承HScrollBar类,重载WndProc,如下所示,但我发现就是不能捕获左键抬起的事件,其它事件
都没有问题,请各位大侠帮忙看看
public class MyHScrollBar : System.Windows.Forms.HScrollBar
{
protected override void WndProc(ref Message m)
{
const int WM_LBUTTONUP = 0x0202;
const int WM_LBUTTONDOWN = 0x0201;
const int WM_RBUTTONDOWN=0x0204;
const int WM_RBUTTONUP=0x0205;
if (m.Msg == WM_LBUTTONUP)//设断点,但就是不能捕获
{
//do something
LButtonDownHandle();
}
if (m.Msg == WM_LBUTTONDOWN)//这以下都可以
{
LButtonDownHandle();
}
if (m.Msg == WM_RBUTTONDOWN)
{
LButtonDownHandle();
}
if (m.Msg == WM_RBUTTONUP)
{
LButtonDownHandle();
}
base.WndProc(ref m); // 这一步不能忘!
}
void LButtonDownHandle()
{
}
}
于是在自定义控件下继承HScrollBar类,重载WndProc,如下所示,但我发现就是不能捕获左键抬起的事件,其它事件
都没有问题,请各位大侠帮忙看看
public class MyHScrollBar : System.Windows.Forms.HScrollBar
{
protected override void WndProc(ref Message m)
{
const int WM_LBUTTONUP = 0x0202;
const int WM_LBUTTONDOWN = 0x0201;
const int WM_RBUTTONDOWN=0x0204;
const int WM_RBUTTONUP=0x0205;
if (m.Msg == WM_LBUTTONUP)//设断点,但就是不能捕获
{
//do something
LButtonDownHandle();
}
if (m.Msg == WM_LBUTTONDOWN)//这以下都可以
{
LButtonDownHandle();
}
if (m.Msg == WM_RBUTTONDOWN)
{
LButtonDownHandle();
}
if (m.Msg == WM_RBUTTONUP)
{
LButtonDownHandle();
}
base.WndProc(ref m); // 这一步不能忘!
}
void LButtonDownHandle()
{
}
}
{
protected override void WndProc(ref Message m)
{
const int WM_LBUTTONUP = 0x0202;
const int WM_LBUTTONDOWN = 0x0201;
const int WM_RBUTTONDOWN=0x0204;
const int WM_RBUTTONUP=0x0205;
if (m.Msg == WM_LBUTTONUP)//设断点,但就是不能捕获
{
//do something
LButtonDownHandle();
}
if (m.Msg == WM_LBUTTONDOWN)//这以下都可以
{
LButtonDownHandle();
return;
}
if (m.Msg == WM_RBUTTONDOWN)
{
LButtonDownHandle();
}
if (m.Msg == WM_RBUTTONUP)
{
LButtonDownHandle();
}
base.WndProc(ref m); // 这一步不能忘!
}
void LButtonDownHandle()
{
}
}