protected override void WndProc(ref Message m)
{
if (this.WindowState == FormWindowState.Maximized)
{
if (m.Msg == USER32.WM_SYSCOMMAND &&
m.WParam.ToInt32() == (int)USER32.SysCommand.SC_MOVE ||
m.Msg == (int)USER32.NCMouseMessage.WM_NCLBUTTONDOWN &&
m.WParam.ToInt32() == (int)USER32.NCHitTestResult.HTCAPTION)
{
m.Msg = USER32.WM_NULL;
}
}
base.WndProc(ref m);
//Logger.Trace("Message from MainForm: " + m.Msg);
switch (m.Msg)
{
case (int)USER32.WM_GETSYSMENU:
borderlessWindow.SystemMenu.Show(this, this.PointToClient(new Point(m.LParam.ToInt32())));
break;
case USER32.WM_NCACTIVATE:
borderlessWindow.IsFormActive = m.WParam.ToInt32() != 0;
this.Invalidate();
break;
case USER32.WM_NCHITTEST:
m.Result = borderlessWindow.OnNonClientHitTest(m.LParam);
break;
case (int)USER32.NCMouseMessage.WM_NCLBUTTONUP:
borderlessWindow.OnNonClientLButtonUp(m.LParam);
break;
case (int)USER32.NCMouseMessage.WM_NCRBUTTONUP:
borderlessWindow.OnNonClientRButtonUp(m.LParam);
break;
case (int)USER32.NCMouseMessage.WM_NCMOUSEMOVE:
borderlessWindow.OnNonClientMouseMove(m.LParam);
break;
default:
break;
}
}