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 » AutoHideModeSet(..) is not a member of CExtControlBar Collapse All
Subject Author Date
Joachim Hartmann Sep 8, 2006 - 5:26 AM

Hi

I’m using the freeware version 2.54 and get the following error when compiling

c:\Work\ID Xtreme\Source\DocView\MainFrm.cpp(1323): error C2039: ’AutoHideModeSet’ : is not a member of ’CExtControlBar’
c:\Program Files\Prof-UIS\Include\ExtControlBar.h(389) : see declaration of ’CExtControlBar’

Everything else about my CExtControlBar works fine...

I want to hide/show the controlbar...but the obviuos function seems to be missing :-(

Technical Support Sep 8, 2006 - 12:10 PM

The auto-hide feature is not available in Prof-UIS Freeware.

To show/hide a control bar, you can use the CFrameWnd::ShowControlBar() method. To hide any resizable control bar (pBar), which can be docked and floating, you can use this code:

#if (!defined __EXT_MFC_NO_TAB_CONTROLBARS)
    if( pBar->AutoHideModeGet() )
        pBar->AutoHideModeSet( false, false, true, true );
#endif // (!defined __EXT_MFC_NO_TAB_CONTROLBARS)

ASSERT_VALID( pBar->m_pDockSite );
pBar->m_pDockSite->ShowControlBar( pBar, FALSE, FALSE );


And to show it, use:
#if (!defined __EXT_MFC_NO_TAB_CONTROLBARS)
    if( pBar->AutoHideModeGet() )
        pBar->AutoHideModeSet( false, false, true, true );
#endif // (!defined __EXT_MFC_NO_TAB_CONTROLBARS)

ASSERT_VALID( pBar->m_pDockSite );
pBar->m_pDockSite->ShowControlBar( pBar, TRUE, FALSE );
Please note that the CFrameWnd::ShowControlBar() method is used. The CControlBar::ShowWindow() method cannot be used here because it does not affect positions of other bars in the same frame window (i.e., the method does not recalculate the frame layout).

Suhai Gyorgy Sep 8, 2006 - 8:05 AM

To hide/show a controlbar, you have to use CFrameWnd::ShowControlBar() method.

AutoHideModeSet method
--- quote from Help ---
Turns on or turns off the auto-hide mode for the resizable control bar ...
--- end quote ---
When a resizable controlbar is docked to the side of the frame window and it’s in auto-hide mode, it disappears into a tab on the side of the frame window, when the mouse is not over the controlbar for a while.
And probably this feature is not supported in freeware.