非客户鼠标消息WM_NCLBUTTONDOWN收不到,为什么
public partial class HeaderPanel : Panel
{
public HeaderPanel() : base()
{
InitializeComponent();
}
protected override void WndProc(ref Message m)
{
switch (m.Msg)
{
case WM_NCCALCSIZE:
WmNCCalcSize(ref m);
break;
case WM_NCPAINT:
IntPtr hDC = NativeUser32Api.GetWindowDC(m.HWnd);
if (hDC != IntPtr.Zero)
{
using (Graphics canvas = Graphics.FromHdc(hDC))
{
PaintNonClientArea(canvas);
}
NativeUser32Api.ReleaseDC(m.HWnd, hDC);
}
m.Result = IntPtr.Zero;
break;
case WM_NCMOUSEMOVE:
break;
case WM_NCLBUTTONDOWN:
break;
case (int)WindowMessages.WM_NCHITTEST:
break;
}
}
以上是自定义控件,画了一个非客户区,客户区能收到WM_NCHITTEST消息,为什么收不到WM_NCMOUSEMOVE和WM_NCLBUTTONDOWN非客户鼠标消息,请高手指教。