void CExtButton::OnLButtonUp(UINT nFlags, CPoint point) { // RTF tool tip support #if (!defined __EXT_MFC_NO_RTF_TOOLTIPS) if( m_bToolTipSet ) m_wndRtfToolTipCtrl.Hide(); #endif if( m_bKeyTracking ) return; BOOL bWasPushed = m_bPushed && m_bPushTracking; m_bMouseOver = m_bPushed = m_bPushTracking = FALSE; if( GetCapture() == this ) ReleaseCapture(); Invalidate(); UpdateWindow(); if( !bWasPushed ) return; //CButton::OnLButtonDown(nFlags, point); if( IsWindowEnabled() && IsWindowVisible() ) _OnClick(); }
BOOL CExtButton::PreTranslateMessage(MSG* pMsg) { if( !CExtPopupMenuWnd::IsMenuTracking() ) { InitToolTip(); m_ToolTip.RelayEvent(pMsg); } // if( CExtPopupMenuWnd::IsMenuTracking() ) // return TRUE; if( ( pMsg->message == WM_KEYDOWN || pMsg->message == WM_KEYUP ) && ( pMsg->wParam == VK_RETURN || pMsg->wParam == VK_SPACE ) ) { if( IsWindowEnabled() && IsWindowVisible() && (!m_bPushTracking) ) { if( (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN) || (pMsg->message == WM_KEYUP && pMsg->wParam == VK_SPACE) ) { if( GetCapture() == this ) ReleaseCapture(); m_bMouseOver = m_bPushed = m_bPushTracking = m_bKeyTracking = FALSE; Invalidate(); UpdateWindow(); _OnClick(); return TRUE; } if(pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_SPACE) { m_bMouseOver = m_bPushed = m_bKeyTracking = TRUE; SetCapture(); Invalidate(); UpdateWindow(); return TRUE; } } // if( IsWindowEnabled() && IsWindowVisible() && (!m_bPushTracking) ) return TRUE; } return CButton::PreTranslateMessage(pMsg); }
void TWidget::_handle_mouseButtonReleased( const TEvent_MouseClick& event, bool& consume ) { consume = false; if (IsVisible() == false) { return; } if (clicked == true) { if ((mouseOver == true) && (_isMouseOverChild() == false)) { _OnClick(); GetSignal(DefaultSignalID::MouseClick).Send(); } _OnMouseButtonUp(event); GetSignal(DefaultSignalID::MouseButtonUp).Send(&event); } }