windows消息机制
想要在winform的非客户区,监听鼠标左键按下的消息
网上说的都是WM_NCLBUTTONDOWN,但是试了一下,发现WM_NCLBUTTONDOWN在鼠标左键按下时并不响应,而是在释放左键时才响应
有什么办法可以实现鼠标左键在非客户区按下的消息的响应?
谢谢。
------解决方案--------------------WM_NCLBUTTONDOWN
0x00A1
当光标在窗口的非客户区并按下鼠标左键时发送此消息
WM_NCLBUTTONUP
0x00A2
当光标在窗口的非客户区并释放鼠标左键时发送此消息
WM_NCLBUTTONDBLCLK
0x00A3
当光标在窗口的非客户区并双击鼠标左键时发送此消息
WM_NCRBUTTONDOWN
0x00A4
当光标在窗口的非客户区并按下鼠标右键时发送此消息
WM_NCRBUTTONUP
0x00A5
当光标在窗口的非客户区并释放鼠标右键时发送此消息
WM_NCRBUTTONDBLCLK
0x00A6
当光标在窗口的非客户区并双击鼠标右键时发送此消息
WM_NCMBUTTONDOWN
0x00A7
当光标在窗口的非客户区并按下鼠标中键时发送此消息
WM_NCMBUTTONUP
0x00A8
当光标在窗口的非客户区并释放鼠标中键时发送此消息
WM_NCMBUTTONDBLCL
0x00A9
当光标在窗口的非客户区并双击鼠标中键时发送此消息
------解决方案--------------------
switch (m.Msg)
{
case 0xA1://WM_NCLBUTTONDOWN
{
MessageBox.Show("NCLdown");
break;
}
case 0x0201://WM_LBUTTONDOWN
{
MessageBox.Show("CLdown");
break;
}
}
base.WndProc(ref m);//这个放到最后