// 鼠标左键放开事件处理 BOOL CControlBase::OnLButtonUp(UINT nFlags, CPoint point) { if(!m_bIsVisible || !m_bRresponse) return false; // 保存原始的鼠标位置,并进行位置变换 CPoint oldPoint = point; OnMousePointChange(point); m_bMouseDown = false; if(m_pControl != NULL) { // 如果是控件内置滚动条子控件,则不进行位置变换,因为滚动条位置是不需要变换的 UINT uControlID = m_pControl->GetControlID(); if((SCROLL_V == uControlID) || (SCROLL_H == uControlID)) { point = oldPoint; } if(m_pControl->OnLButtonUp(nFlags, point)) { return true; } } else { // 发送鼠标左键放开DUI消息 if(m_bDuiMsgMouseLUp) { SendMessage(MSG_MOUSE_LUP, (WPARAM)nFlags, (LPARAM)(&point)); } return OnControlLButtonUp(nFlags, point); } return false; }
// 鼠标左键事件处理 BOOL CControlBase::OnLButtonUp(UINT nFlags, CPoint point) { if(!m_bIsVisible || !m_bRresponse) return false; OnMousePointChange(point); m_bMouseDown = false; if(m_pControl != NULL) { if(m_pControl->OnLButtonUp(nFlags, point)) { return true; } } else { return OnControlLButtonUp(nFlags, point); } return false; }