本文整理汇总了C++中CBCGPBaseRibbonElement::OnAfterChangeRect方法的典型用法代码示例。如果您正苦于以下问题:C++ CBCGPBaseRibbonElement::OnAfterChangeRect方法的具体用法?C++ CBCGPBaseRibbonElement::OnAfterChangeRect怎么用?C++ CBCGPBaseRibbonElement::OnAfterChangeRect使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CBCGPBaseRibbonElement
的用法示例。
在下文中一共展示了CBCGPBaseRibbonElement::OnAfterChangeRect方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ReposActiveForm
//********************************************************************************
void CBCGPRibbonBackstageViewPanel::ReposActiveForm()
{
ASSERT_VALID(this);
CBCGPBaseRibbonElement* pSelected = m_pNewSelected != NULL ? m_pNewSelected : m_pSelected;
if (pSelected != NULL)
{
ASSERT_VALID(pSelected);
CBCGPBaseRibbonElement* pView = pSelected->GetBackstageAttachedView();
if (pView != NULL)
{
ASSERT_VALID(pView);
if (m_pMainButton != NULL)
{
ASSERT_VALID (m_pMainButton);
ASSERT_VALID (m_pMainButton->GetParentRibbonBar ());
pView->SetRect(m_rectRight);
CClientDC dc(m_pMainButton->GetParentRibbonBar());
CFont* pOldFont = dc.SelectObject (m_pMainButton->GetParentRibbonBar()->GetFont());
ASSERT (pOldFont != NULL);
pView->OnAfterChangeRect(&dc);
m_sizeRightView = pView->GetSize(&dc);
dc.SelectObject (pOldFont);
if (m_pNewSelected != NULL)
{
RedrawElement(pView);
}
}
}
}
}
示例2: OnPageTransitionFinished
//**********************************************************************************
void CBCGPRibbonBackstageViewPanel::OnPageTransitionFinished()
{
ASSERT_VALID(this);
if (m_pNewSelected == NULL)
{
return;
}
ASSERT_VALID(m_pNewSelected);
if (m_pSelected != NULL)
{
ASSERT_VALID(m_pSelected);
CBCGPBaseRibbonElement* pView = m_pSelected->GetBackstageAttachedView();
if (pView != NULL)
{
ASSERT_VALID(pView);
pView->SetRect(CRect(0, 0, 0, 0));
pView->OnAfterChangeRect(NULL);
}
m_pSelected->m_bIsChecked = FALSE;
RedrawElement(m_pSelected);
}
m_pSelected = m_pNewSelected;
ReposActiveForm();
AdjustScrollBars();
ReposActiveForm();
RedrawElement(m_pSelected);
m_pNewSelected = NULL;
}
示例3: SelectView
//**********************************************************************************
void CBCGPRibbonBackstageViewPanel::SelectView(CBCGPBaseRibbonElement* pElem)
{
ASSERT_VALID(this);
m_pNewSelected = NULL;
if (pElem == NULL)
{
return;
}
ASSERT_VALID(pElem);
if (pElem->IsDisabled())
{
return;
}
if (pElem != m_pSelected && pElem->GetBackstageAttachedView() != NULL)
{
if (m_pSelected != NULL)
{
ASSERT_VALID(m_pSelected);
if (m_pMainButton->GetParentRibbonBar () != NULL)
{
ASSERT_VALID (m_pMainButton->GetParentRibbonBar ());
m_PageTransitionEffect = m_pMainButton->GetParentRibbonBar ()->GetBackstagePageTransitionEffect();
m_nPageTransitionTime = m_pMainButton->GetParentRibbonBar ()->GetBackstagePageTransitionTime();
}
if (m_bSelectedByMouseClick && m_PageTransitionEffect != BCGPPageTransitionNone && !globalData.IsHighContastMode())
{
m_bSelectedByMouseClick = FALSE;
CBCGPRibbonBackstageViewItemForm* pForm1 = DYNAMIC_DOWNCAST(CBCGPRibbonBackstageViewItemForm, m_pSelected->GetBackstageAttachedView());
if (pForm1 != NULL && pForm1->m_pWndForm->GetSafeHwnd() != NULL)
{
HWND hwndPanel = GetParentMenuBar()->GetSafeHwnd();
GetParentMenuBar()->SetRedraw(FALSE);
CBCGPRibbonBackstageViewItemForm* pForm2 = DYNAMIC_DOWNCAST(CBCGPRibbonBackstageViewItemForm, pElem->GetBackstageAttachedView());
if (pForm2 != NULL && hwndPanel != NULL)
{
if (pForm2->m_pWndForm == NULL)
{
pForm2->m_pWndForm = pForm2->OnCreateFormWnd();
}
if (pForm2->m_pWndForm->GetSafeHwnd() != NULL)
{
m_pNewSelected = pElem;
ReposActiveForm();
pForm1->m_pWndForm->ShowWindow(SW_HIDE);
pForm2->m_pWndForm->ShowWindow(SW_HIDE);
CSize szPageMax(m_rect.Width(), 0);
m_clrFillFrame = CBCGPVisualManager::GetInstance()->IsRibbonBackstageWhiteBackground() ?
RGB(255, 255, 255) : globalData.clrBarFace;
m_pNewSelected->m_bIsChecked = TRUE;
m_pSelected->m_bIsChecked = FALSE;
if (StartPageTransition(hwndPanel,
pForm1->m_pWndForm->GetSafeHwnd(), pForm2->m_pWndForm->GetSafeHwnd(),
m_pSelected->GetRect().top > pElem->GetRect().top, CSize(0, 0), szPageMax))
{
RedrawElement(m_pSelected);
return;
}
GetParentMenuBar()->SetRedraw(TRUE);
}
}
}
}
CBCGPBaseRibbonElement* pView = m_pSelected->GetBackstageAttachedView();
if (pView != NULL)
{
ASSERT_VALID(pView);
pView->SetRect(CRect(0, 0, 0, 0));
pView->OnAfterChangeRect(NULL);
}
m_pSelected->m_bIsChecked = FALSE;
RedrawElement(m_pSelected);
}
m_pSelected = pElem;
m_pSelected->m_bIsChecked = TRUE;
ReposActiveForm();
AdjustScrollBars();
ReposActiveForm();
//.........这里部分代码省略.........
示例4: OnAfterChangeRect
//********************************************************************************
void CBCGPRibbonButtonsGroup::OnAfterChangeRect (CDC* pDC)
{
ASSERT_VALID (this);
BOOL bIsFirst = TRUE;
const BOOL bIsOnStatusBar = IsStatusBarMode();
const BOOL bIsQATOnBottom = IsQAT () && !m_pRibbonBar->IsQuickAccessToolbarOnTop ();
const int nMarginX = IsQAT () ? 2 : 0;
const int nMarginTop = bIsQATOnBottom ? 2 : bIsOnStatusBar ? 1 : 0;
const int nMarginBottom = (IsQAT () || bIsOnStatusBar) ? 1 : 0;
const int nButtonHeight = m_rect.Height () - nMarginTop - nMarginBottom;
CRect rectGroup = m_rect;
if (!IsQAT() && !bIsOnStatusBar && m_pParentMenu == NULL)
{
rectGroup.DeflateRect(CBCGPVisualManager::GetInstance ()->GetRibbonButtonsGroupHorzMargin(), 0);
}
int x = rectGroup.left + nMarginX;
int nCustomizeButtonIndex = -1;
if (IsQAT () && m_arButtons.GetSize () > 0)
{
//---------------------------------------------
// Last button is customize - it always visible.
// Leave space for it:
//---------------------------------------------
nCustomizeButtonIndex = (int) m_arButtons.GetSize () - 1;
CBCGPBaseRibbonElement* pButton = m_arButtons [nCustomizeButtonIndex];
ASSERT_VALID (pButton);
CSize sizeButton = pButton->GetSize (pDC);
rectGroup.right -= sizeButton.cx;
}
BOOL bHasHiddenItems = FALSE;
for (int i = 0; i < m_arButtons.GetSize (); i++)
{
CBCGPBaseRibbonElement* pButton = m_arButtons [i];
ASSERT_VALID (pButton);
pButton->m_bShowGroupBorder = TRUE;
if (pButton->m_pRibbonBar != NULL &&
!pButton->m_pRibbonBar->IsShowGroupBorder (this))
{
pButton->m_bShowGroupBorder = FALSE;
}
if (m_rect.IsRectEmpty ())
{
pButton->m_rect = CRect (0, 0, 0, 0);
pButton->OnAfterChangeRect (pDC);
continue;
}
BOOL bIsLast = i == m_arButtons.GetSize () - 1;
pButton->SetParentCategory (m_pParent);
CSize sizeButton = pButton->GetSize (pDC);
sizeButton.cy = i != nCustomizeButtonIndex ? nButtonHeight : nButtonHeight - 1;
const int y = i != nCustomizeButtonIndex ? rectGroup.top + nMarginTop : rectGroup.top;
pButton->m_rect = CRect (CPoint (x, y), sizeButton);
const BOOL bIsHiddenSeparator = bHasHiddenItems && pButton->IsSeparator ();
if ((pButton->m_rect.right > rectGroup.right || bIsHiddenSeparator) &&
i != nCustomizeButtonIndex)
{
pButton->m_rect = CRect (0, 0, 0, 0);
bHasHiddenItems = TRUE;
}
else
{
x += sizeButton.cx;
}
pButton->OnAfterChangeRect (pDC);
if (bIsFirst && bIsLast)
{
pButton->m_Location = RibbonElementSingleInGroup;
}
else if (bIsFirst)
{
pButton->m_Location = RibbonElementFirstInGroup;
}
else if (bIsLast)
{
//.........这里部分代码省略.........