高手帮帮忙,windows消息的处理问题
最近正在学习C#对windows消息的处理问题,很简单一个例子,在窗体上放个panel1,panel1上放个按钮button1,当鼠标进入panel1时,button1显示,离开panel1时,button1隐藏(因为是学习消息的处理机制问题,所以没有利用panel的现有事件),我重载消息的处理过程如下,但没成功:
C# code
protected override void WndProc(ref Message m)
{
if (m.HWnd == this.Handle && m.WParam==this.panel1.Handle)//这里怎么判断当前处理的是panel1
{
//textBox1.Text = textBox1.Text + "\r\n" + DateTime.Now.ToString();
if (m.Msg == 0X200) //第一次处理鼠标的消息,我把它当做鼠标进入处理
{
button1.Visible = true;
}
if (m.Msg == 0X2A3)//鼠标离开
{
button1.Visible = true;
}
}
base.WndProc(ref m);
}
------解决方案--------------------
好像窗体的WndProc事件,只能处理窗体的消息,不能处理控件的消息
要处理控件的消息,需要重写一个控件,然后再处理WndProc
------解决方案--------------------m.WParam==this.panel1.Handle
我没见过WParam有这样的作用
------解决方案--------------------你可以来个实际点的例子,你这个例子。。。完全。。没必要。。。也不可取~
------解决方案--------------------哥们,这个完全可以在各自控件上面写事件啊,微软也提倡写事件的方式,难道你没有注意到控件上直接就有鼠标进入,离开这些事件?