const
int
WM_NCHITTEST
=
0x0084
;
const int HTLEFT = 10 ;
const int HTRIGHT = 11 ;
const int HTTOP = 12 ;
const int HTTOPLEFT = 13 ;
const int HTTOPRIGHT = 14 ;
const int HTBOTTOM = 15 ;
const int HTBOTTOMLEFT = 0x10 ;
const int HTBOTTOMRIGHT = 17 ;
protected override void WndProc( ref Message m)
{
base .WndProc( ref m);
switch (m.Msg)
{
case WM_NCHITTEST:
Point vPoint = new Point(( int )m.LParam & 0xFFFF ,
( int )m.LParam >> 16 & 0xFFFF );
vPoint = PointToClient(vPoint);
if (vPoint.X <= 5 )
if (vPoint.Y <= 5 )
m.Result = (IntPtr)HTTOPLEFT;
else if (vPoint.Y >= ClientSize.Height - 5 )
m.Result = (IntPtr)HTBOTTOMLEFT;
else m.Result = (IntPtr)HTLEFT;
else if (vPoint.X >= ClientSize.Width - 5 )
if (vPoint.Y <= 5 )
m.Result = (IntPtr)HTTOPRIGHT;
else if (vPoint.Y >= ClientSize.Height - 5 )
m.Result = (IntPtr)HTBOTTOMRIGHT;
else m.Result = (IntPtr)HTRIGHT;
else if (vPoint.Y <= 5 )
m.Result = (IntPtr)HTTOP;
else if (vPoint.Y >= ClientSize.Height - 5 )
m.Result = (IntPtr)HTBOTTOM;
break ;
}
}
const int HTLEFT = 10 ;
const int HTRIGHT = 11 ;
const int HTTOP = 12 ;
const int HTTOPLEFT = 13 ;
const int HTTOPRIGHT = 14 ;
const int HTBOTTOM = 15 ;
const int HTBOTTOMLEFT = 0x10 ;
const int HTBOTTOMRIGHT = 17 ;
protected override void WndProc( ref Message m)
{
base .WndProc( ref m);
switch (m.Msg)
{
case WM_NCHITTEST:
Point vPoint = new Point(( int )m.LParam & 0xFFFF ,
( int )m.LParam >> 16 & 0xFFFF );
vPoint = PointToClient(vPoint);
if (vPoint.X <= 5 )
if (vPoint.Y <= 5 )
m.Result = (IntPtr)HTTOPLEFT;
else if (vPoint.Y >= ClientSize.Height - 5 )
m.Result = (IntPtr)HTBOTTOMLEFT;
else m.Result = (IntPtr)HTLEFT;
else if (vPoint.X >= ClientSize.Width - 5 )
if (vPoint.Y <= 5 )
m.Result = (IntPtr)HTTOPRIGHT;
else if (vPoint.Y >= ClientSize.Height - 5 )
m.Result = (IntPtr)HTBOTTOMRIGHT;
else m.Result = (IntPtr)HTRIGHT;
else if (vPoint.Y <= 5 )
m.Result = (IntPtr)HTTOP;
else if (vPoint.Y >= ClientSize.Height - 5 )
m.Result = (IntPtr)HTBOTTOM;
break ;
}
}