BOOL CXTPRibbonControlTab::OnSetSelected(int bSelected) { if (bSelected == m_bSelected) return FALSE; if (IsKeyboardSelected(bSelected) && !GetRibbonBar()->IsRibbonMinimized()) m_pParent->SetPopuped(-1); m_bSelected = bSelected; m_pParent->OnControlSelected(bSelected, this); if (IsKeyboardSelected(bSelected)) { SetFocused(TRUE); } if (!bSelected) { SetFocused(FALSE); PerformMouseMove(m_pParent->GetSafeHwnd(), CPoint(-1, -1)); } else { AccessibleNotifyWinEvent(EVENT_OBJECT_FOCUS , GetParent()->GetSafeHwnd(), GetID(), GetCurSel() + 1); } return TRUE; }
BOOL CXTPRibbonGroupControlPopup::OnSetPopup(BOOL bPopup) { m_bPopup = bPopup; if (bPopup) { CMDTARGET_RELEASE(m_pCommandBar); CXTPCommandBars* pCommandBars = m_pParent->GetCommandBars(); ASSERT(pCommandBars); if (!m_pPopupGroup) { m_pCommandBar = new CXTPPopupToolBar(); m_pCommandBar->SetCommandBars(pCommandBars); m_pCommandBar->Popup(this, IsKeyboardSelected(GetSelected())); } else { m_pCommandBar = new CXTPRibbonGroupPopupToolBar(m_pPopupGroup); m_pCommandBar->SetCommandBars(pCommandBars); m_pCommandBar->EnableCustomization(FALSE); m_pCommandBar->Popup(this, IsKeyboardSelected(GetSelected())); } } else { ASSERT(m_pCommandBar); if (m_pCommandBar) m_pCommandBar->SetTrackingMode(FALSE); } RedrawParent(); return TRUE; }
BOOL CXTPRibbonControlTab::OnSetPopup(BOOL bPopup) { m_bPopup = bPopup; if (bPopup) { ASSERT(GetSelectedItem()); CXTPRibbonTab* pSelectedTab = (CXTPRibbonTab*)GetSelectedItem(); if (!pSelectedTab || !GetRibbonBar()->IsRibbonMinimized()) { m_bPopup = FALSE; return FALSE; } if (m_pCommandBar) m_pCommandBar->InternalRelease(); CXTPCommandBars* pCommandBars = GetRibbonBar()->GetCommandBars(); ASSERT(pCommandBars); m_pCommandBar = GetRibbonBar()->CreateTabPopupToolBar(pSelectedTab); m_pCommandBar->SetCommandBars(pCommandBars); m_pCommandBar->EnableCustomization(FALSE); m_pCommandBar->Popup(this, IsKeyboardSelected(GetSelected())); } else if (m_pCommandBar) { ASSERT(m_pCommandBar); m_pCommandBar->SetTrackingMode(FALSE); } RedrawParent(); return TRUE; }