Professional UI Solutions
Site Map   /  Register
 
 

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.

Forums » Prof-UIS Tech Support » How to use RibbonBar is changed. I am troubled. Collapse All
Subject Author Date
tera tera Apr 20, 2009 - 1:39 AM

Hello.


Hello.


With 03-26 of prof-uis, only a bmp map was displayed.





However, in profuis2009-04-18, "String2" is displayed.


 


    CExtRibbonNode * pNode =     new CExtRibbonNode( uiID , 0, NULL, 0, "" );

 

 if ( uiIDLargeBmp != 0 ){ VERIFY( pNode->m_iconBig.m_bmpNormal.  LoadBMP_Resource( MAKEINTRESOURCE(uiIDLargeBmp ) ) ); pNode->m_iconBig.m_bmpNormal.Make32(); pNode->m_iconBig.m_bmpNormal.AlphaColor( RGB(255,0,255), RGB(0,0,0), 0 );  }

 

 if ( uiIDSmallBmp != 0 ){ VERIFY( pNode->m_iconSmall.m_bmpNormal.  LoadBMP_Resource( MAKEINTRESOURCE( uiIDSmallBmp ) ) ); pNode->m_iconSmall.m_bmpNormal.Make32(); pNode->m_iconSmall.m_bmpNormal.AlphaColor( RGB(255,0,255), RGB(0,0,0), 0 );  }

    {     CExtCustomizeCmdScreenTip *pCmdScreenTip;     pCmdScreenTip = new CExtCustomizeCmdScreenTip;     pCmdScreenTip->CaptionMainSet ( "String2" );     pCmdScreenTip->TextMainSet     ( "String3" );     pNode->CmdScreenTipAttach( pCmdScreenTip );     pNode->CmdScreenTipSet   ( pCmdScreenTip, true, false );     }

 

    pNode->RibbonILE_RuleRemoveEntriesByILV( TRUE, FALSE, TRUE );

 

 if ( pRibbonGroup != NULL )   pRibbonGroup->InsertNode( NULL, pNode );

Technical Support Apr 20, 2009 - 8:50 AM

Thank you for reporting this issue. Here is the fix:

bool CExtCustomizeCmdTreeNode::Ribbon_InitCommandProfile(
            CExtCmdProfile * pProfile,
            bool bInit
            )
{
            ASSERT_VALID( this );
            if( pProfile == NULL )
                        return false;
UINT nCmdIDi = GetCmdID( false );
UINT nCmdIDe = GetCmdID( true );
            if(                     nCmdIDi == 0
                        &&        nCmdIDe == 0
                        &&        (! IsKindOf( RUNTIME_CLASS(CExtRibbonNodeTabPage) ) )
                        )
            {
            }
            else
            {
                        if( bInit )
                        {
                                    CExtCmdItem * pCmdItemI = pProfile->CmdAllocPtr( nCmdIDi );
                                    if( pCmdItemI == NULL )
                                    {
                                                pCmdItemI = pProfile->CmdGetPtr( nCmdIDi );
                                                if( pCmdItemI == NULL )
                                                            return false;
                                    } // if( pCmdItemI == NULL )
                                    if( nCmdIDi == 0 )
                                                nCmdIDi = pCmdItemI->m_nCmdID;
                                    pCmdItemI->StateSetBasic();
                                    CExtCmdItem * pCmdItemE = NULL;
                                    pCmdItemI->m_sMenuText = m_strTextInMenu;
                                    pCmdItemI->m_sToolbarText = m_strTextInToolbar;
                                    if( nCmdIDi != nCmdIDe )
                                    {
                                                pCmdItemE = pProfile->CmdAllocPtr( nCmdIDe );
                                                if( pCmdItemE == NULL )
                                                {
                                                            pCmdItemE = pProfile->CmdGetPtr( nCmdIDe );
                                                            if( pCmdItemE == NULL )
                                                                        return false;
                                                } // if( pCmdItemE == NULL )
                                                if( nCmdIDe == 0 )
                                                pCmdItemE->m_sMenuText = m_strTextInMenu;
                                                pCmdItemE->m_sToolbarText = m_strTextInToolbar;
                                                nCmdIDe = pCmdItemE->m_nCmdID;
//                                              pCmdItemE->StateSetBasic();
                                    } // if( nCmdIDi != nCmdIDe )
                                    else
                                                nCmdIDe = nCmdIDi;
                                    SetCmdID( nCmdIDi, false );
                                    SetCmdID( nCmdIDe, true );
                                    DWORD dwFlags = GetFlags();
                                    if( (dwFlags&__ECTN_DYNAMIC_POPUP) != 0 )
                                                pCmdItemI->StateSetDynamicPopup();
                                    if( (dwFlags&__ECTN_TBB_SEPARATED_DROPDOWN) != 0 )
                                                pCmdItemI->StateSetSeparatedDD();
                                    if( (dwFlags&__ECTN_TBB_AUTOCHANGE_ID) != 0 )
                                                pCmdItemI->StateSetAutochangeID();
                                    if( (dwFlags&__ECTN_TBB_NO_ROTATE_VL) != 0 )
                                                pCmdItemI->StateSetNoRotateVL();
                                    if( (dwFlags&__ECTN_TBB_CANNOT_HIDE) != 0 )
                                                pCmdItemI->StateSetCannotHide();
#if (!defined __EXT_MFC_NO_BUILTIN_TEXTFIELD)
                                    if( (dwFlags&__ECTN_TBB_TEXT_FIELD) != 0 )
                                                pCmdItemI->StateSetTextField();
                                    if( (dwFlags&__ECTN_TBB_TF_NE) != 0 )
                                                pCmdItemI->StateSetTextFieldNotEditable();
                                    if( (dwFlags&__ECTN_TBB_COMBO) != 0 )
                                                pCmdItemI->StateSetCombo();
                                    if( (dwFlags&__ECTN_TBB_DATE) != 0 )
                                                pCmdItemI->StateSetDate();
                                    if( (dwFlags&__ECTN_TBB_RESIZABLE) != 0 )
                                                pCmdItemI->StateSetResizable();
#endif // (!defined __EXT_MFC_NO_BUILTIN_TEXTFIELD)
                                    if( (dwFlags&__ECTN_TBB_COLOR) != 0 )
                                                pCmdItemI->StateSetColor();
                                    if( (dwFlags&__ECTN_TBB_MCB_DEFAULT) != 0 )
                                                pCmdItemI->StateSetColorBtnDefault();
                                    if( (dwFlags&__ECTN_TBB_MCB_CUSTOM) != 0 )
                                                pCmdItemI->StateSetColorBtnCustom();

                                    if( (dwFlags&__ECTN_TBB_UNDO_REDO) != 0 )
                                                pCmdItemI->StateSetUndoRedo();

                                    if( (dwFlags&__ECTN_TBB_CTRL_VIS_VL) != 0 )
                                                pCmdItemI->StateSetCtrlVisibleVertically();

                                    if( (dwFlags&__ECTN_TBB_CHECK_BOX) != 0 )
                                                pCmdItemI->StateSetCheckBox();
                                    if( (dwFlags&__ECTN_TBB_RADIO_BOX) != 0 )
                                                pCmdItemI->StateSetRadioBox();

                                    pCmdItemI->m_sMenuText = GetTextInMenu( NULL, true );
//                                              if( pCmdItemI->m_sMenuText.IsEmpty() )
//                                              {
//                                                          CExtCustomizeCmdScreenTip * pCCST = CmdScreenTipGet( true );
//                                                          if( pCCST != NULL )
//                                                                      pCmdItemI->m_sMenuText = pCCST->CaptionMainGet();
//                                              }
                                                pCmdItemI->m_sMenuText.Replace( _T("\n"), _T(" ") );
                                                pCmdItemI->m_sMenuText.Replace( _T("\r"), _T("") );
                                                pCmdItemI->m_sMenuText.Replace( _T("  "), _T(" ") );
                                                pCmdItemI->m_sMenuText.TrimLeft( _T(" \r\n\t") );
                                                pCmdItemI->m_sMenuText.TrimRight( _T(" \r\n\t") );
                                    pCmdItemI->m_sToolbarText = GetTextInToolbar( NULL, true );
//                                              if( pCmdItemI->m_sToolbarText.IsEmpty() )
//                                              {
//                                                          CExtCustomizeCmdScreenTip * pCCST = CmdScreenTipGet( true );
//                                                          if( pCCST != NULL )
//                                                                      pCmdItemI->m_sToolbarText = pCCST->CaptionMainGet();
//                                              }
                                                pCmdItemI->m_sToolbarText.Replace( _T("\n"), _T(" ") );
                                                pCmdItemI->m_sToolbarText.Replace( _T("\r"), _T("") );
                                                pCmdItemI->m_sToolbarText.Replace( _T("  "), _T(" ") );
                                                pCmdItemI->m_sToolbarText.TrimLeft( _T(" \r\n\t") );
                                                pCmdItemI->m_sToolbarText.TrimRight( _T(" \r\n\t") );
                                    //pCmdItemI->m_sTipTool;
                                    //pCmdItemI->m_sTipStatus;
                                    //pCmdItemI->m_sAccelText;
                                    if( pCmdItemE != NULL && pCmdItemE != pCmdItemI )
                                    {
                                                pCmdItemE->m_dwStateFlags = pCmdItemI->m_dwStateFlags;
                                                pCmdItemE->m_sMenuText = pCmdItemI->m_sMenuText;
                                                pCmdItemE->m_sToolbarText = pCmdItemI->m_sToolbarText;
                                                pCmdItemE->m_sTipTool = pCmdItemI->m_sTipTool;
                                                pCmdItemE->m_sTipStatus = pCmdItemI->m_sTipStatus;
                                                pCmdItemE->m_sAccelText = pCmdItemI->m_sAccelText;
                                    }
                        } // if( bInit )
                        else
                        {
                                    if( nCmdIDi != 0 )
                                                pProfile->CmdRemove( nCmdIDi );
                                    if( nCmdIDe != 0 && nCmdIDe != nCmdIDi )
                                                pProfile->CmdRemove( nCmdIDe );
                                    SetCmdID( 0, false );
                        } // else from if( bInit )
                        if( ! Ribbon_InitCommandProfileIcon( pProfile, bInit ) )
                        {
                                    ASSERT( FALSE );
                                    return false;
                        }
            }
INT nIndex, nCount = GetNodeCount();
            for( nIndex = 0; nIndex < nCount; nIndex ++ )
            {
                        CExtCustomizeCmdTreeNode * pNode = ElementAt( nIndex );
                        ASSERT_VALID( pNode );
                        pNode->Ribbon_InitCommandProfile( pProfile, bInit );
            }           
            return true;
}