//******************************************************************************** CBCGPBaseRibbonElement* CBCGPRibbonBackstageViewPanel::MouseButtonDown (CPoint point) { CBCGPBaseRibbonElement* pHit = CBCGPRibbonMainPanel::MouseButtonDown (point); if (pHit == NULL || pHit->IsDisabled()) { return NULL; } if (!m_rectPageTransition.IsRectEmpty()) { StopPageTransition(); OnPageTransitionFinished(); if (pHit->GetRect().PtInRect(point)) { SelectView(pHit); return pHit; } return NULL; } m_bSelectedByMouseClick = TRUE; SelectView(pHit); return pHit; }
//******************************************************************************* HRESULT CBCGPRibbonTabsGroup::accHitTest(long xLeft, long yTop, VARIANT *pvarChild) { if (!pvarChild) { return E_INVALIDARG; } if (m_pRibbonBar->GetSafeHwnd() == NULL) { return S_FALSE; } pvarChild->vt = VT_I4; pvarChild->lVal = CHILDID_SELF; CPoint pt(xLeft, yTop); m_pRibbonBar->ScreenToClient(&pt); for (int i = 0; i < m_arButtons.GetSize (); i++) { CBCGPBaseRibbonElement* pElem = m_arButtons[i]; if (pElem != NULL) { ASSERT_VALID(pElem); if (pElem->GetRect().PtInRect(pt)) { pvarChild->lVal = i + 1; pElem->SetACCData(m_pRibbonBar, m_AccData); break; } } } return S_OK; }