Codejock Forums Homepage
Forum Home Forum Home > Codejock Products > Visual C++ MFC > Command Bars
  New Posts New Posts RSS Feed - OnUpdateRibbonTab
  FAQ FAQ  Forum Search   Events   Register Register  Login Login

OnUpdateRibbonTab

 Post Reply Post Reply
Author
Message
MGebler View Drop Down
Groupie
Groupie


Joined: 18 May 2006
Location: Germany
Status: Offline
Points: 64
Post Options Post Options   Thanks (0) Thanks(0)   Quote MGebler Quote  Post ReplyReply Direct Link To This Post Topic: OnUpdateRibbonTab
    Posted: 24 June 2009 at 11:03am
Big problems in version 12. Have a look at your RibbonMDI sample an insert the highlighted line

void CMainFrame::OnUpdateRibbonTab(CCmdUI* pCmdUI)
{
    CXTPRibbonControlTab* pControl = DYNAMIC_DOWNCAST(CXTPRibbonControlTab, CXTPControl::FromUI(pCmdUI));
    if (!pControl)
        return;

    CXTPRibbonTab* pTab = pControl->FindTab(ID_TAB_EDIT);
    if (!pTab)
        return;

    pTab->SetVisible( FALSE );

    // ...

    pTab->SetVisible(MDIGetActive() != NULL);
}

Try to select the EDIT Tab -> Nothing happens.

And now the real life problem. In my MDI-application the childframes decide whether a tab or group is visible or not. Therefore I have to hide all ribbon tabs and groups; dispatch the update command to the views of a child frame, andf if one of these views is responsible for the command they show the tab/group (SetVisible(TRUE), if they are not responsible they do nothing.

Plese help me



Back to Top
Oleg View Drop Down
Admin Group
Admin Group


Joined: 21 May 2003
Location: United States
Status: Offline
Points: 11234
Post Options Post Options   Thanks (0) Thanks(0)   Quote Oleg Quote  Post ReplyReply Direct Link To This Post Posted: 26 June 2009 at 5:23am
This scenario works for me.
 
In Main Frame add
 
 
void CMainFrame::OnUpdateRibbonTab(CCmdUI* pCmdUI)
{
 CXTPRibbonControlTab* pControl = DYNAMIC_DOWNCAST(CXTPRibbonControlTab, CXTPControl::FromUI(pCmdUI));
 if (!pControl)
  return;
 CXTPRibbonTab* pTab = pControl->FindTab(ID_TAB_EDIT);
 if (!pTab)
  return;
 pTab->SetVisible( FALSE );
}
 
in your view
 
void CRibbonMDISampleView::OnUpdateRibbonTab(CCmdUI* pCmdUI)
{
 CXTPRibbonControlTab* pControl = DYNAMIC_DOWNCAST(CXTPRibbonControlTab, CXTPControl::FromUI(pCmdUI));
 if (!pControl)
  return;
 
 CXTPRibbonTab* pTab = pControl->FindTab(ID_TAB_EDIT);
 if (!pTab)
  return;
 
 pTab->SetVisible(TRUE);
}
now Tab is visible only when View is active.
Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS
Back to Top
 Post Reply Post Reply
  Share Topic   

Forum Jump Forum Permissions View Drop Down

Forum Software by Web Wiz Forums® version 12.04
Copyright ©2001-2021 Web Wiz Ltd.

This page was generated in 0.047 seconds.