TEMPLATE void CDialogMinTrayBtn<BASE>::OnNcLButtonDown(UINT nHitTest, CPoint point) { if ((GetStyle() & WS_DISABLED) || !MinTrayBtnIsEnabled() || !MinTrayBtnIsVisible() || !MinTrayBtnHitTest(point)) { BASE::OnNcLButtonDown(nHitTest, point); return; } SetCapture(); m_bMinTrayBtnCapture = TRUE; MinTrayBtnSetDown(); }
template <class BASE> void CDialogMinTrayBtn<BASE>::OnMouseMove(UINT nFlags, CPoint point) { if ((GetStyle() & WS_DISABLED) != 0 || (!m_bMinTrayBtnCapture)) { BASE::OnMouseMove(nFlags, point); return; } ClientToScreen(&point); m_bMinTrayBtnHitTest = MinTrayBtnHitTest(point); if (m_bMinTrayBtnHitTest) { if (m_bMinTrayBtnUp) MinTrayBtnSetDown(); } else if (!m_bMinTrayBtnUp) MinTrayBtnSetUp(); }