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 t
|
Dec 19, 2007 - 9:22 PM
|
|
|
Technical Support
|
Dec 21, 2007 - 12:18 PM
|
We failed to reproduce this problem. We inserted your code into the CMainFrame::_InitRibbonNode_Home_Clipboard() method in the RibbonBar sample but nothing wrong happened: CExtRibbonNode * CMainFrame::_InitRibbonNode_Home_Clipboard()
{
CExtRibbonNodeGroup * pRibbonGroup =
new CExtRibbonNodeGroup( ID_RIBBON_PAGE_CLIPBOARD );
pRibbonGroup->CmdKeyTipSet( new CExtCustomizeCmdKeyTip( __EXT_MFC_SAFE_LPCTSTR( _T("ZC") ) ), false );
VERIFY( pRibbonGroup->m_iconBig.m_bmpNormal.LoadBMP_Resource( MAKEINTRESOURCE(ID_EDIT_PASTE_BIG) ) );
pRibbonGroup->m_iconBig.m_bmpNormal.Make32();
pRibbonGroup->m_iconBig.m_bmpNormal.AlphaColor( RGB(255,0,255), RGB(0,0,0), 0 );
CExtCustomizeCmdScreenTip * pCmdScreenTip = new CExtCustomizeCmdScreenTip;
pCmdScreenTip->TextMainSet( _T("Clipboard") );
pRibbonGroup->CmdScreenTipAttach( pCmdScreenTip );
pRibbonGroup->SetTextInToolbar( _T("Clipboard") );
CExtRibbonNodeDialogLauncher * pRibbonDLB =
new CExtRibbonNodeDialogLauncher( ID_RIBBON_PAGE_CLIPBOARD );
pCmdScreenTip = new CExtCustomizeCmdScreenTip;
pCmdScreenTip->CaptionMainSet( _T("Clipboard") );
pCmdScreenTip->TextMainSet( _T("Show the Clipboard\nTask Pane.") );
pCmdScreenTip->BmpMainGet().LoadBMP_Resource( MAKEINTRESOURCE(ID_CLIPBOARD_DLB_TIP_IMAGE) );
pCmdScreenTip->BmpMainGet().Make32();
pCmdScreenTip->BmpMainGet().AlphaColor( RGB(255,0,255), RGB(0,0,0), 0 );
pRibbonDLB->CmdScreenTipAttach( pCmdScreenTip );
pRibbonDLB->CmdKeyTipSet( new CExtCustomizeCmdKeyTip( __EXT_MFC_SAFE_LPCTSTR( _T("FO") ) ), false );
pRibbonGroup->InsertNode( NULL, pRibbonDLB );
// pRibbonGroup->InsertNode( NULL, new CExtRibbonNodeDialogLauncher( ID_RIBBON_PAGE_CLIPBOARD ) );
// pRibbonGroup->InsertNode( NULL, new CExtRibbonNodeDialogLauncher( ID_RIBBON_PAGE_CLIPBOARD ) );
// pRibbonGroup->InsertNode( NULL, new CExtRibbonNodeDialogLauncher( ID_RIBBON_PAGE_CLIPBOARD ) );
CExtRibbonNode * pNodePaste =
new CExtRibbonNode( ID_EDIT_PASTE, 0, NULL, 0, _T("Paste") );
pNodePaste->CmdKeyTipSet( new CExtCustomizeCmdKeyTip( __EXT_MFC_SAFE_TCHAR( _T(’V’) ) ), false );
pNodePaste->RibbonILE_RuleArrayGet().RemoveAll();
VERIFY( pNodePaste->m_iconBig.m_bmpNormal.LoadBMP_Resource( MAKEINTRESOURCE(ID_EDIT_PASTE_BIG) ) );
pNodePaste->m_iconBig.m_bmpNormal.Make32();
pNodePaste->m_iconBig.m_bmpNormal.AlphaColor( RGB(255,0,255), RGB(0,0,0), 0 );
pCmdScreenTip = new CExtCustomizeCmdScreenTip;
pCmdScreenTip->CaptionMainSet( _T("Paste") );
pCmdScreenTip->TextMainSet( _T("Paste the contents\nof the Clipboard.") );
pCmdScreenTip->BmpMainGet().LoadBMP_Resource( MAKEINTRESOURCE(ID_EDIT_PASTE_BIG) );
pCmdScreenTip->BmpMainGet().Make32();
pCmdScreenTip->BmpMainGet().AlphaColor( RGB(255,0,255), RGB(0,0,0), 0 );
pCmdScreenTip->CaptionSecondarySet( _T("Press F1 for more help.") );
pCmdScreenTip->BmpSecondaryGet().LoadBMP_Resource( MAKEINTRESOURCE(ID_APP_ABOUT_16x16) );
pCmdScreenTip->BmpSecondaryGet().PreMultiplyRGBChannels( false );
pNodePaste->CmdScreenTipAttach( pCmdScreenTip );
pCmdScreenTip = new CExtCustomizeCmdScreenTip;
pCmdScreenTip->CaptionMainSet( _T("Paste") );
pCmdScreenTip->TextMainSet( _T("Click here for more options such as\npasting only the values or\nformatting.") );
pCmdScreenTip->BmpMainGet().LoadBMP_Resource( MAKEINTRESOURCE(ID_EDIT_PASTE_BIG) );
pCmdScreenTip->BmpMainGet().Make32();
pCmdScreenTip->BmpMainGet().AlphaColor( RGB(255,0,255), RGB(0,0,0), 0 );
pCmdScreenTip->CaptionSecondarySet( _T("Press F1 for more help.") );
pCmdScreenTip->BmpSecondaryGet().LoadBMP_Resource( MAKEINTRESOURCE(ID_APP_ABOUT_16x16) );
pCmdScreenTip->BmpSecondaryGet().PreMultiplyRGBChannels( false );
pNodePaste->CmdScreenTipAttach( pCmdScreenTip, false );
pRibbonGroup->InsertNode(
NULL,
pNodePaste
);
////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////
#define ID_FG_LINE 40000
#define ID_FG_LINES 40001
CExtRibbonNode * pNodeGrid = new CExtRibbonNode( 9999 );
pNodeGrid->CmdKeyTipSet( new CExtCustomizeCmdKeyTip( _T(’L’) ), false );
pNodeGrid->SetCmdID ( ID_FG_LINE , true );
pNodeGrid->RibbonILE_RuleRemoveLargeILV();
pNodeGrid->m_iconSmall.m_bmpNormal.Make32();
pNodeGrid->m_iconSmall.m_bmpNormal.AlphaColor( RGB(255,0,255), RGB(0,0,0), 0 );
pNodeGrid->ModifyFlags(
__ECTN_DISPLAY_TEXT_AND_IMAGE|
__ECTN_TBB_AUTOCHANGE_ID |
__ECTN_TBB_SEPARATED_DROPDOWN
);
pRibbonGroup->InsertNode(
NULL,
pNodeGrid
);
{
CExtCustomizeCmdTreeNode * pTempNode = NULL;
CExtCmdIcon cIconTmp;
// VERIFY( cIconTmp.m_bmpNormal.
// LoadBMP_Resource( MAKEINTRESOURCE(ID_FG_LINE_SMALL) ) );
cIconTmp.m_bmpNormal.Make32();
cIconTmp.m_bmpNormal.AlphaColor( RGB(255,0,255), RGB(0,0,0), 0 );
pTempNode = new CExtCustomizeCmdTreeNode(
ID_FG_LINE ,
ID_FG_LINE ,
NULL, 0,
_T("LINE"),
_T("LINE"),
_T("LINE"), 0L, &cIconTmp );
pTempNode->CmdKeyTipSet( new CExtCustomizeCmdKeyTip( _T(’N’) ), false );
pNodeGrid->InsertNode( NULL, pTempNode );
// VERIFY( cIconTmp.m_bmpNormal.
// LoadBMP_Resource( MAKEINTRESOURCE(ID_FG_LINES_SMALL) ) );
cIconTmp.m_bmpNormal.Make32();
cIconTmp.m_bmpNormal.AlphaColor( RGB(255,0,255), RGB(0,0,0), 0 );
pTempNode = new CExtCustomizeCmdTreeNode(
ID_FG_LINES ,
ID_FG_LINES ,
NULL, 0,
_T("LINES"),
_T("LINES"),
_T("LINES"), 0L, &cIconTmp );
pTempNode->CmdKeyTipSet( new CExtCustomizeCmdKeyTip( _T(’N’) ), false );
pNodeGrid->InsertNode( NULL, pTempNode );
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////
// g_CmdManager->CmdAllocPtr(
// g_CmdManager->ProfileNameFromWnd( m_hWnd ),
// ID_EDIT_PASTE )->m_sMenuText = "12";
pNodePaste->ModifyFlags( __ECTN_TBB_SEPARATED_DROPDOWN );
CExtCustomizeCmdTreeNode * pNodePaste_Paste =
new CExtCustomizeCmdTreeNode( ID_EDIT_PASTE, ID_EDIT_PASTE, NULL, 0, _T("Paste"), _T("&Paste") );
pNodePaste_Paste->CmdKeyTipSet( new CExtCustomizeCmdKeyTip( __EXT_MFC_SAFE_TCHAR( _T(’P’) ) ), false );
pNodePaste->InsertNode(
NULL,
pNodePaste_Paste
);
CExtCustomizeCmdTreeNode * pNodePaste_Special =
new CExtCustomizeCmdTreeNode( ID_EDIT_PASTE_SPECIAL, ID_EDIT_PASTE_SPECIAL, NULL, 0, _T("Paste &Special...") );
pNodePaste_Special->CmdKeyTipSet( new CExtCustomizeCmdKeyTip( __EXT_MFC_SAFE_TCHAR( _T(’S’) ) ), false );
pNodePaste->InsertNode(
NULL,
pNodePaste_Special
);
CExtCustomizeCmdTreeNode * pNodePaste_Hyperlink =
new CExtCustomizeCmdTreeNode( ID_EDIT_PASTE_AS_HYPERLINK, ID_EDIT_PASTE_AS_HYPERLINK, NULL, 0, _T("Paste as &Hyperlink") );
pNodePaste_Hyperlink->CmdKeyTipSet( new CExtCustomizeCmdKeyTip( __EXT_MFC_SAFE_TCHAR( _T(’H’) ) ), false );
pNodePaste->InsertNode(
NULL,
pNodePaste_Hyperlink
);
// pRibbonGroup->InsertNode(
// NULL,
// new CExtRibbonNode // separator
// );
CExtRibbonNode * pNodeCopy =
new CExtRibbonNode( ID_EDIT_COPY, 0, NULL, 0, _T("Copy") );
pNodeCopy->CmdKeyTipSet( new CExtCustomizeCmdKeyTip( __EXT_MFC_SAFE_TCHAR( _T(’C’) ) ), false );
//pNodeCopy->ModifyFlags( __ECTN_TBB_UNDO_REDO|__ECTN_TBB_SEPARATED_DROPDOWN );
pNodeCopy->RibbonILE_RuleRemoveLargeILV();
VERIFY( pNodeCopy->m_iconSmall.m_bmpNormal.LoadBMP_Resource( MAKEINTRESOURCE(ID_EDIT_COPY_SMALL) ) );
pNodeCopy->m_iconSmall.m_bmpNormal.Make32();
pNodeCopy->m_iconSmall.m_bmpNormal.AlphaColor( RGB(255,0,255), RGB(0,0,0), 0 );
pCmdScreenTip = new CExtCustomizeCmdScreenTip;
pCmdScreenTip->CaptionMainSet( _T("Copy") );
pCmdScreenTip->TextMainSet( _T("Copy the selection and\nput it on the Clipboard.") );
pNodeCopy->CmdScreenTipAttach( pCmdScreenTip );
pRibbonGroup->InsertNode(
NULL,
pNodeCopy
);
CExtRibbonNode * pNodeCut =
new CExtRibbonNode( ID_EDIT_CUT, 0, NULL, 0, _T("Cut") );
pNodeCut->CmdKeyTipSet( new CExtCustomizeCmdKeyTip( __EXT_MFC_SAFE_TCHAR( _T(’X’) ) ), false );
pNodeCut->RibbonILE_RuleRemoveLargeILV();
VERIFY( pNodeCut->m_iconSmall.m_bmpNormal.LoadBMP_Resource( MAKEINTRESOURCE(ID_EDIT_CUT_SMALL) ) );
pNodeCut->m_iconSmall.m_bmpNormal.Make32();
pNodeCut->m_iconSmall.m_bmpNormal.AlphaColor( RGB(255,0,255), RGB(0,0,0), 0 );
pCmdScreenTip = new CExtCustomizeCmdScreenTip;
pCmdScreenTip->CaptionMainSet( _T("Cut") );
pCmdScreenTip->TextMainSet( _T("Cut the selection from the document\nand put it on the Clipboard.") );
pNodeCut->CmdScreenTipAttach( pCmdScreenTip );
pRibbonGroup->InsertNode(
NULL,
pNodeCut
);
CExtRibbonNode * pNodeClearFormatting =
new CExtRibbonNode( ID_EDIT_CLEAR, 0, NULL, 0, _T("Clear Formatting") );
pNodeClearFormatting->CmdKeyTipSet( new CExtCustomizeCmdKeyTip( __EXT_MFC_SAFE_LPCTSTR( _T("FP") ) ), false );
pNodeClearFormatting->RibbonILE_RuleRemoveLargeILV();
VERIFY( pNodeClearFormatting->m_iconSmall.m_bmpNormal.LoadBMP_Resource( MAKEINTRESOURCE(ID_EDIT_CLEAR_SMALL) ) );
pNodeClearFormatting->m_iconSmall.m_bmpNormal.Make32();
pNodeClearFormatting->m_iconSmall.m_bmpNormal.AlphaColor( RGB(255,0,255), RGB(0,0,0), 0 );
pCmdScreenTip = new CExtCustomizeCmdScreenTip;
pCmdScreenTip->CaptionMainSet( _T("Clear Formatting") );
pCmdScreenTip->TextMainSet( _T("Copy the formatting from one place\nand apply it to an other.\n\nUse this button to apply\nthe same formatting to multiple\nplaces in the document.") );
pCmdScreenTip->CaptionSecondarySet( _T("Press F1 for more help.") );
pCmdScreenTip->BmpSecondaryGet().LoadBMP_Resource( MAKEINTRESOURCE(ID_APP_ABOUT_16x16) );
pCmdScreenTip->BmpSecondaryGet().PreMultiplyRGBChannels( false );
pNodeClearFormatting->CmdScreenTipAttach( pCmdScreenTip );
pRibbonGroup->InsertNode(
NULL,
pNodeClearFormatting
);
return pRibbonGroup;
}
|
|
Technical Support
|
Dec 20, 2007 - 11:09 AM
|
Could you tell us how do you initialize and handle the split button in the ribbon bar demonstrated on these 2 screenshots or how to reproduce this problem in our sample applications?
|
|
tera t
|
Dec 20, 2007 - 5:17 PM
|
Hello.
Is a sample code necessary? Or must not I do such how to use?
----------------------------------------------------------------------- CExtRibbonNode * pNodeGrid = new CExtRibbonNode( 9999 );
pNodeGrid->CmdKeyTipSet( new CExtCustomizeCmdKeyTip( _T(’L’) ), false );
pNodeGrid->SetCmdID ( ID_FG_LINE , true ); pNodeGrid->RibbonILE_RuleRemoveLargeILV();
pNodeGrid->m_iconSmall.m_bmpNormal.Make32(); pNodeGrid->m_iconSmall.m_bmpNormal.AlphaColor( RGB(255,0,255), RGB(0,0,0), 0 );
pNodeGrid->ModifyFlags( __ECTN_DISPLAY_TEXT_AND_IMAGE| __ECTN_TBB_AUTOCHANGE_ID | __ECTN_TBB_SEPARATED_DROPDOWN );
pRibbonGroup->InsertNode( NULL, pNodeGrid );
{ CExtCustomizeCmdTreeNode * pTempNode = NULL; CExtCmdIcon cIconTmp;
VERIFY( cIconTmp.m_bmpNormal. LoadBMP_Resource( MAKEINTRESOURCE(ID_FG_LINE_SMALL) ) ); cIconTmp.m_bmpNormal.Make32(); cIconTmp.m_bmpNormal.AlphaColor( RGB(255,0,255), RGB(0,0,0), 0 ); pTempNode = new CExtCustomizeCmdTreeNode( ID_FG_LINE , ID_FG_LINE , NULL, 0, _T("LINE"), _T("LINE"), _T("LINE"), 0L, &cIconTmp ); pTempNode->CmdKeyTipSet( new CExtCustomizeCmdKeyTip( _T(’N’) ), false ); pNodeGrid->InsertNode( NULL, pTempNode );
VERIFY( cIconTmp.m_bmpNormal. LoadBMP_Resource( MAKEINTRESOURCE(ID_FG_LINES_SMALL) ) ); cIconTmp.m_bmpNormal.Make32(); cIconTmp.m_bmpNormal.AlphaColor( RGB(255,0,255), RGB(0,0,0), 0 ); pTempNode = new CExtCustomizeCmdTreeNode( ID_FG_LINES , ID_FG_LINES , NULL, 0, _T("LINES"), _T("LINES"), _T("LINES"), 0L, &cIconTmp ); pTempNode->CmdKeyTipSet( new CExtCustomizeCmdKeyTip( _T(’N’) ), false ); pNodeGrid->InsertNode( NULL, pTempNode );
} -----------------------------------------------------------------------
|
|