UINT CButtonUI::GetControlFlags() const { return (IsKeyboardEnabled() ? UIFLAG_TABSTOP : 0) | (IsEnabled() ? UIFLAG_SETCURSOR : 0); }
void CButtonUI::DoEvent(TEventUI& event) { if( !IsMouseEnabled() && event.Type > UIEVENT__MOUSEBEGIN && event.Type < UIEVENT__MOUSEEND ) { if( m_pParent != NULL ) m_pParent->DoEvent(event); else CLabelUI::DoEvent(event); return; } if( event.Type == UIEVENT_SETFOCUS ) { Invalidate(); } if( event.Type == UIEVENT_KILLFOCUS ) { Invalidate(); } if( event.Type == UIEVENT_KEYDOWN ) { if (IsKeyboardEnabled()) { if( event.chKey == VK_SPACE || event.chKey == VK_RETURN ) { Activate(); return; } } } if( event.Type == UIEVENT_BUTTONDOWN || event.Type == UIEVENT_DBLCLICK ) { if( ::PtInRect(&m_rcItem, event.ptMouse) && IsEnabled() ) { m_uButtonState |= UISTATE_PUSHED | UISTATE_CAPTURED; Invalidate(); } return; } if( event.Type == UIEVENT_MOUSEMOVE ) { if( (m_uButtonState & UISTATE_CAPTURED) != 0 ) { if( ::PtInRect(&m_rcItem, event.ptMouse) ) m_uButtonState |= UISTATE_PUSHED; else m_uButtonState &= ~UISTATE_PUSHED; Invalidate(); } return; } if( event.Type == UIEVENT_BUTTONUP ) { if( (m_uButtonState & UISTATE_CAPTURED) != 0 ) { if( ::PtInRect(&m_rcItem, event.ptMouse) ) Activate(); m_uButtonState &= ~(UISTATE_PUSHED | UISTATE_CAPTURED); Invalidate(); } return; } if( event.Type == UIEVENT_CONTEXTMENU ) { if( IsContextMenuUsed() ) { m_pManager->SendNotify(this, _T("menu"), event.wParam, event.lParam); } return; } if( event.Type == UIEVENT_MOUSEENTER ) { if( IsEnabled() ) { m_uButtonState |= UISTATE_HOT; Invalidate(); } // return; } if( event.Type == UIEVENT_MOUSELEAVE ) { if( IsEnabled() ) { m_uButtonState &= ~UISTATE_HOT; Invalidate(); } // return; } if( event.Type == UIEVENT_SETCURSOR ) { ::SetCursor(::LoadCursor(NULL, MAKEINTRESOURCE(IDC_ARROW))); return; } CLabelUI::DoEvent(event); }
void CRotateButtonUI::DoEvent(TEventUI& event) { if (!IsMouseEnabled() && event.Type > UIEVENT__MOUSEBEGIN && event.Type < UIEVENT__MOUSEEND) { if (m_pParent) { m_pParent->DoEvent(event); } return; } if (event.Type == UIEVENT_MOUSEMOVE) { if ((m_uButtonState & UISTATE_CAPTURED) != 0) { AdjustDragButton(event.ptMouse); Invalidate(); } return; } if (event.Type == UIEVENT_BUTTONDOWN) { if (IsEnabled()) { if (::PtInRect(&m_rcItem, event.ptMouse)) m_uButtonState |= UISTATE_CAPTURED; } return; } if (event.Type == UIEVENT_BUTTONUP) { if ((m_uButtonState & UISTATE_CAPTURED) != 0 ) { if (::PtInRect(&m_rcItem, event.ptMouse)) Activate(); m_uButtonState &= ~UISTATE_CAPTURED; Invalidate(); } return; } if (event.Type == UIEVENT_CONTEXTMENU) { return; } if (event.Type == UIEVENT_KEYDOWN) { if (IsKeyboardEnabled()) { if (event.chKey == VK_SPACE || event.chKey == VK_RETURN) { Activate(); return; } } } if (event.Type == UIEVENT_SETFOCUS) { Invalidate(); } if ( event.Type == UIEVENT_KILLFOCUS) { Invalidate(); } CControlUI::DoEvent(event); }