void CScrollBarWindow::_OnLButtonUp(POINT pt) { if (_IsCapture()) { CBaseWindow* pUIWnd = _GetTopmostUIWnd(); if (pUIWnd) { CBaseWindow *pCapture = pUIWnd->_GetCaptureObject(); if (pCapture && pCapture != this) { pCapture->_OnLButtonUp(pt); } } } else { RECT rc = {0, 0, 0, 0}; _pBtnUp->_GetClientRect(&rc); if (PtInRect(&rc, pt)) { _pBtnUp->_OnLButtonUp(pt); } else { _pBtnDn->_GetClientRect(&rc); if (PtInRect(&rc, pt)) { _pBtnDn->_OnLButtonUp(pt); } } } if (_IsCapture()) { _EndCapture(); } if (_IsTimer()) { _EndTimer(); } _scrollDir = SCROLL_NONE_DIR; _InvalidateRect(); }
void CButtonWindow::_OnLButtonUp(POINT pt) { pt; if (_IsCapture()) { _EndCapture(); } typeOfControl = 0; }
void CScrollBarWindow::_SetCurPos(int nPos, int dwSB) { int posMax = (_scrollInfo.nMax <= _scrollInfo.nPage) ? 0 : _scrollInfo.nMax - _scrollInfo.nPage; nPos = min(nPos, posMax); nPos = max(nPos, 0); _scrollInfo.nPos = nPos; if (_IsWindowVisible()) { _InvalidateRect(); } if ((_IsCapture() && dwSB != -1) || (dwSB == SB_THUMBPOSITION)) { _NotifyCommand(WM_VSCROLL, dwSB, nPos); } }
void CCandidateWindow::_OnLButtonUp(POINT pt) { if (nullptr == _pVScrollBarWnd) { return; } RECT rc = {0, 0, 0, 0}; _pVScrollBarWnd->_GetClientRect(&rc); MapWindowPoints(_GetWnd(), _pVScrollBarWnd->_GetWnd(), &pt, 1); if (_IsCapture()) { _pVScrollBarWnd->_OnLButtonUp(pt); } else if (PtInRect(&rc, pt)) { _pVScrollBarWnd->_OnLButtonUp(pt); } }