本文整理汇总了C++中CBCGPBaseRibbonElement::SetParentCategory方法的典型用法代码示例。如果您正苦于以下问题:C++ CBCGPBaseRibbonElement::SetParentCategory方法的具体用法?C++ CBCGPBaseRibbonElement::SetParentCategory怎么用?C++ CBCGPBaseRibbonElement::SetParentCategory使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CBCGPBaseRibbonElement
的用法示例。
在下文中一共展示了CBCGPBaseRibbonElement::SetParentCategory方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ASSERT_VALID
//*************************************************************************************
void CBCGPRibbonButtonsGroup::SetParentCategory (CBCGPRibbonCategory* pCategory)
{
ASSERT_VALID (this);
CBCGPBaseRibbonElement::SetParentCategory (pCategory);
for (int i = 0; i < m_arButtons.GetSize (); i++)
{
CBCGPBaseRibbonElement* pButton = m_arButtons [i];
ASSERT_VALID (pButton);
pButton->SetParentCategory (pCategory);
}
}
示例2: OnAdd
//.........这里部分代码省略.........
pNewTab->SetTabColor(m_pRibbonBar->GetContextColor(nContextID));
}
m_pRibbonBar->AddCustomCategory(pNewTab, TRUE);
m_CustomizationData.AddCustomTab(*pNewTab, GetNewTabIndex(), nContextID);
RebuildDestTree((DWORD_PTR)pNewTab, TRUE);
m_wndRibbonTreeSrc.MoveSelection(TRUE);
return;
}
if (m_pSelPanelSrc != NULL)
{
ASSERT_VALID(m_pSelPanelSrc);
CBCGPRibbonCategory* pParentCategory = m_pSelCategoryDest;
if (pParentCategory == NULL)
{
if (m_pSelPanelDest != NULL)
{
ASSERT_VALID(m_pSelPanelDest);
pParentCategory = m_pSelPanelDest->GetParentCategory();
}
else if (m_pSelElemDest != NULL)
{
ASSERT_VALID(m_pSelElemDest);
pParentCategory = m_pSelElemDest->GetParentCategory();
}
}
if (pParentCategory == NULL)
{
ASSERT(FALSE);
return;
}
ASSERT_VALID(pParentCategory);
if (pParentCategory->HasPanel(m_pSelPanelSrc))
{
if (m_CustomizationData.IsPanelHidden(m_pSelPanelSrc))
{
m_CustomizationData.ShowPanel(m_pSelPanelSrc, TRUE);
RebuildDestTree((DWORD_PTR)m_pSelPanelSrc, TRUE);
}
}
else
{
CBCGPRibbonPanel* pNewPanel = m_pSelPanelSrc->CreateCustomCopy(pParentCategory);
ASSERT_VALID(pNewPanel);
pNewPanel->m_bIsNew = TRUE;
int nIndex = GetNewPanelIndex();
pParentCategory->AddCustomPanel(pNewPanel, nIndex);
m_CustomizationData.AddCustomPanel(*pNewPanel, nIndex);
RebuildDestTree((DWORD_PTR)pNewPanel, TRUE);
m_wndRibbonTreeSrc.MoveSelection(TRUE);
}
return;
}
if (m_pSelElemSrc != NULL)
{
ASSERT_VALID(m_pSelElemSrc);
CBCGPRibbonPanel* pPanel = m_pSelPanelDest;
if (pPanel == NULL)
{
if (m_pSelElemDest != NULL)
{
pPanel = m_pSelElemDest->GetParentPanel();
}
}
if (pPanel == NULL)
{
ASSERT(FALSE);
return;
}
ASSERT_VALID(pPanel);
CBCGPBaseRibbonElement* pElem = m_pSelElemSrc->CreateCustomCopy();
ASSERT_VALID (pElem);
pElem->SetParentCategory(pPanel->GetParentCategory());
pElem->m_bIsNew = TRUE;
pPanel->Add(pElem);
m_CustomizationData.AddCustomElement(*pPanel, *pElem);
m_wndRibbonTreeSrc.MoveSelection(TRUE);
RebuildDestTree((DWORD_PTR)pElem);
return;
}
}
示例3: 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)
{
//.........这里部分代码省略.........