标题栏重绘 模拟实现按钮时 怎么实现按钮那样在 左键按下后拖动时 不拖动窗口

标题栏重绘 模拟实现按钮时 如何实现按钮那样在 左键按下后拖动时 不拖动窗口
如上

------解决方案--------------------
UINT hit = CFrameWnd::OnNcHitTest(point);
if ( hit == HTCAPTION && <point在按钮绘制区> )
{
return HTCLIENT;
}
else
return hit;

参考下文,反其道而行之:
http://www.codeproject.com/dialog/dragwindows.asp
------解决方案--------------------
UINT CXXXDlg::OnNcHitTest(
CPoint point
)

{
UINT nHit = CWnd::OnNcHitTest(point);
CRect btnRect;
// 在这里获得你的button的rect
if(nHit == HTCAPTION && btnRect.PtInRect(point))
{
return 0;
}
return nHit;
}
------解决方案--------------------
感觉还是去掉caption,然后自己处理灵活一些,这样以后需求再有变动不用束手无策了!
自己实现也没有那么费劲,鼠标拖拽窗口也自己实现,算个圆角的边框还不很easy!