LRESULT CSF_ButtonBase::OnNcHitTest(CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CRect rect;
GetClientRect(&rect);
CPoint pt =point;
ScreenToClient(&pt);
int nFrame=4;
rect.DeflateRect(nFrame,nFrame);
if (!rect.PtInRect(pt))
{
if (pt.x<=nFrame && pt.y>=rect.bottom-nFrame)
{
return HTBOTTOMLEFT;
}
else if (pt.x<=nFrame && pt.y<=nFrame)
{
return HTTOPLEFT;
}
else if (pt.x>=rect.right-nFrame && pt.y<=nFrame)
{
return HTTOPRIGHT;
}
else if (pt.x>=rect.right-nFrame && pt.y>=rect.bottom-nFrame)
{
return HTBOTTOMRIGHT;
}
else if (pt.x<=nFrame)
{
return HTLEFT;
}
else if (pt.y<=nFrame)
{
return HTTOP;
}
else if (pt.y>=rect.bottom-nFrame)
{
return HTBOTTOM;
}
else if (pt.x>=rect.right-nFrame)
{
return HTRIGHT;
}
}
else
{
return HTCAPTION;
}
return CButton::OnNcHitTest(point);
}
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CRect rect;
GetClientRect(&rect);
CPoint pt =point;
ScreenToClient(&pt);
int nFrame=4;
rect.DeflateRect(nFrame,nFrame);
if (!rect.PtInRect(pt))
{
if (pt.x<=nFrame && pt.y>=rect.bottom-nFrame)
{
return HTBOTTOMLEFT;
}
else if (pt.x<=nFrame && pt.y<=nFrame)
{
return HTTOPLEFT;
}
else if (pt.x>=rect.right-nFrame && pt.y<=nFrame)
{
return HTTOPRIGHT;
}
else if (pt.x>=rect.right-nFrame && pt.y>=rect.bottom-nFrame)
{
return HTBOTTOMRIGHT;
}
else if (pt.x<=nFrame)
{
return HTLEFT;
}
else if (pt.y<=nFrame)
{
return HTTOP;
}
else if (pt.y>=rect.bottom-nFrame)
{
return HTBOTTOM;
}
else if (pt.x>=rect.right-nFrame)
{
return HTRIGHT;
}
}
else
{
return HTCAPTION;
}
return CButton::OnNcHitTest(point);
}