|
|
|
|
Forum
Please
Log In
to post a new message or reply to an existing one. If you are not registered, please
register.
NOTE: Some forums may be read-only if you are not currently subscribed to
our technical support services.
Subject |
Author |
Date |
|
tera tera
|
Sep 30, 2009 - 12:07 AM
|
Hello. A thing of the same ID is piled up, and it is displayed.
If same ID, the list wants to display only one. 
|
|
Technical Support
|
Oct 1, 2009 - 6:31 AM
|
Thank you very much for reporting us this issue. Please update the source code for the following two methods:
BOOL CExtRibbonBar::SetButtons(
CExtCustomizeCmdTreeNode * pNode
)
{
ASSERT_VALID( this );
m_bRibbonSimplifiedLayoutDelayedFlush = true;
if( m_pPopupPageMenuGroup->GetSafeHwnd() != NULL )
m_pPopupPageMenuGroup->DestroyWindow();
if( m_pPopupPageMenuAutoHide->GetSafeHwnd() != NULL )
m_pPopupPageMenuAutoHide->DestroyWindow();
if( m_pExtNcFrameImpl == NULL )
m_pExtNcFrameImpl =
CExtNcFrameImpl::NcFrameImpl_FindInstance(
m_hWnd,
this
);
if( m_pExtNcFrameImpl != NULL )
m_pExtNcFrameImpl->m_bNcFrameImpl_PivotPmSyncMode = true; // RibbonLayout_IsFrameIntegrationEnabled();
_RibbonPageRslaResetStateData();
m_arrGroupButtons.RemoveAll();
m_arrTabPageButtons.RemoveAll();
m_pFileTBB = NULL;
MenuInfoRemove();
CategoryRemoveAll();
if( pNode == NULL )
{
CExtMenuControlBar::SetButtons();
m_pRibbonNode = NULL;
return TRUE;
}
if( m_pRibbonNode == pNode )
return TRUE;
CExtMenuControlBar::SetButtons();
m_pRibbonNode = NULL;
ASSERT_VALID( pNode );
m_pRibbonNode = DYNAMIC_DOWNCAST( CExtRibbonNode, pNode );
if( m_pRibbonNode == NULL )
return FALSE;
m_pRibbonNode->Ribbon_InitCommandProfile( m_hWnd, true );
m_pRibbonNode->Ribbon_InitBar( this, NULL, false );
MenuInfoAddEmpty( this, _T("Default"), true );
CExtRibbonNodeTabPageCollection * pColNode = Ribbon_GetTabPageRootNode();
if( pColNode != NULL )
OnRibbonBuildCommandCategories( pColNode );
int nCatIdx, nCatCnt = CategoryGetCount();
for( nCatIdx = 0; nCatIdx < nCatCnt; nCatIdx ++ )
{
CExtCustomizeCmdTreeNode * pCatNode = CategoryGetTreeAt( nCatIdx );
ASSERT_VALID( pCatNode );
CExtSafeString str = pCatNode->GetTextUser();
CategoryMakeCmdsUnique( LPCTSTR(str) );
}
CategoryAppendAllCommands();
CategoryMakeAllCmdsUnique();
OnUpdateAccelGlobalInfo( true );
Ribbon_FileButtonInit();
_RibbonPageRslaResetStateData();
Ribbon_OnCalcMinMaxILE();
if( m_pExtNcFrameImpl != NULL )
m_pExtNcFrameImpl->NcFrameImpl_AdjustVistaDwmCompatibilityIssues();
_RecalcPositionsImpl();
return TRUE;
}
BOOL CExtRibbonPage::SetButtons(
CExtCustomizeCmdTreeNode * pNode
)
{
ASSERT_VALID( this );
m_bRibbonSimplifiedLayoutDelayedFlush = true;
_RibbonPageRslaResetStateData();
m_arrGroupButtons.RemoveAll();
m_arrTabPageButtons.RemoveAll();
MenuInfoRemove();
CategoryRemoveAll();
if( pNode == NULL )
{
CExtMenuControlBar::SetButtons();
m_pRibbonNode = NULL;
return TRUE;
}
if( m_pRibbonNode == pNode )
return TRUE;
CExtMenuControlBar::SetButtons();
if( m_bHelperPopupMode && m_pRibbonNode != NULL )
delete m_pRibbonNode;
m_pRibbonNode = NULL;
ASSERT_VALID( pNode );
m_pRibbonNode = DYNAMIC_DOWNCAST( CExtRibbonNode, pNode );
if( m_pRibbonNode == NULL )
return FALSE;
if( m_bHelperPopupMode )
m_pWndTop = GetMainRibbonPage()->GetCustomizeTopWnd();
m_pRibbonNode->Ribbon_InitCommandProfile( m_pWndTop->m_hWnd, true );
if( m_bHelperAutoHideMode )
m_pRibbonNode->CExtRibbonNode::Ribbon_InitBar(
this,
NULL,
false
);
else
m_pRibbonNode->Ribbon_InitBar( this, NULL, false );
if( ! m_bHelperPopupMode )
{
MenuInfoAddEmpty( this, _T("Default"), true );
OnRibbonBuildCommandCategories( m_pRibbonNode );
int nCatIdx, nCatCnt = CategoryGetCount();
for( nCatIdx = 0; nCatIdx < nCatCnt; nCatIdx ++ )
{
CExtCustomizeCmdTreeNode * pCatNode = CategoryGetTreeAt( nCatIdx );
ASSERT_VALID( pCatNode );
CExtSafeString str = pCatNode->GetTextUser();
CategoryMakeCmdsUnique( LPCTSTR(str) );
}
CategoryAppendAllCommands();
CategoryMakeAllCmdsUnique();
OnUpdateAccelGlobalInfo( true );
} // if( ! m_bHelperPopupMode )
m_bRibbonSimplifiedLayoutDelayedFlush = true;
_RibbonPageRslaResetStateData();
Ribbon_OnCalcMinMaxILE();
_RecalcPositionsImpl();
return TRUE;
}
|
|