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 General Discussion » RecalcLayout Collapse All
Subject Author Date
Henry Van Voorhis Apr 2, 2006 - 7:00 PM

If I have an IE toolbar and I call:

pSomeBar->GetParentFrame()->RecalcLayout();

GetParentFrame returns null, I guess there is no CFrameWnd in the parent chain. So in this case how can I recalclayout when I change the text on a toolbar button?

Technical Support Apr 3, 2006 - 10:37 AM

Just try the following:

pSomeBar->GetParent()->RepositionBars( 0, 0xFFFF, 0 );


Henry Van Voorhis Apr 3, 2006 - 1:14 PM

This does not seem to do anything (also tried pSomeBar->GetParent()->GetParent()...). I notice after I select a menu item (menu is a submenu of a toolbar button) that the toolbar get laid out correctly. This also happens when I move the toolbar. Any Ideas?

Technical Support Apr 4, 2006 - 9:17 AM

Your project uses our toolbar window in some special way. Would you send us your (test) project so we can figure out what’s wrong?

Henry Van Voorhis Apr 5, 2006 - 12:43 PM

I sent it to the support email address. Did you recieve it?

Henry Van Voorhis Apr 5, 2006 - 1:27 PM

I figured it out:

RECT rect;
pSomeBar->GetWindowRect(&rect);
pSomeBar->GetParent()->RepositionBars( 0, 0xFFFF, 0 ,CWnd::reposQuery,&rect);

Technical Support Apr 6, 2006 - 6:53 AM

We recieved your e-mail and analyzed the project. We are sorry for the delay with this reply. Please update the source code of the CKBBarBand::ChangeButtonText() method in your project:

void CKBBarBand::ChangeButtonText(UINT nButtonID, LPCSTR text)
{
CExtCmdItem * pCmdItem = g_CmdManager->CmdGetPtr( _T("RsaToolbarProfile"), nButtonID );
    ASSERT( pCmdItem != NULL );
    pCmdItem->m_sToolbarText = text;
CWnd * pDockLocationWnd = m_wndToolBar->GetParent();
    pDockLocationWnd->RepositionBars( 0, 0xFFFF, 0 );
    m_wndToolBar->_RecalcPositionsImpl();
    m_wndToolBar->Invalidate();
}


Technical Support Apr 6, 2006 - 6:58 AM

The update for the CKBBarBand::ChangeButtonText() method should fix the problem of updating of the buttons. Additionally we advise you to change the design of your IE embedded bar because Prof-UIS toolbars have a different style. It is possible to subclass the IE-bar which is inserted directly into the rebar common control. You can subclass the IE toolbar window with the CExtToolControlBar class. As a result you will have a solid Prof-UIS-based bar inside IE.