|
|
|
|
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 |
|
tarou iiyama
|
Jul 10, 2006 - 4:08 AM
|
Hello
CExtControBar docks to a frame. Or (CExtControBar accompanies other docking bars.)
I carry out FloatControlBar.
From this state.
I want to steep CExtControBar in an original docking state. (CDockBar, CExtDockBar, CExtDockDynBar, CExtDockDynTabBar)
Will it be possible?
|
|
Technical Support
|
Jul 10, 2006 - 10:53 AM
|
This feature (restoring the previous docked position of a control bar by double clicking its caption when it is floating) is not yet supported for resizable control bars.
|
|
tarou iiyama
|
Jul 10, 2006 - 7:03 PM
|
Hello Thank you for an answer.
May not you handle it by programming?
(1) The state that CExtControlBar docked. I save this in a variable. (2) I carry out FloatControlBar. (3) I carry out order X by a program. (DockControlBar?????) (4) CExtControlBar returned to a state of (1).
|
|
tarou iiyama
|
Jul 11, 2006 - 2:57 AM
|
Hello
I examine a state of Control Strip in this. I can return it to an original state. ??
INT CExtControlBar2::_DockStatus( int & iFloat ) {
if( m_pDockBar->IsKindOf( RUNTIME_CLASS( CDockBar ) ) ) { iRet=0; } if( m_pDockBar->IsKindOf( RUNTIME_CLASS( CExtDockBar ) ) ) { iRet=1; } if( m_pDockBar->IsKindOf( RUNTIME_CLASS( CExtDockDynBar ) ) ) { iRet=2; } if( m_pDockBar->IsKindOf( RUNTIME_CLASS( CExtDockDynTabBar ) ) ) { iRet=3; }
return iRet; }
INT CExtControlBar2::_ScanBar( CExtControlBar *pExtControlBar ) { int iDocType; int iFloatType; iDocType = _DockStatus( iFloatType ); int iRec; CExtControlBar * pBar;
if ( iDocType == 2 || iDocType == 3 ){ CExtDockDynBar * pCExtDockDynBar = STATIC_DOWNCAST( CExtDockDynBar , m_pDockBar ); // for ( iRec = 0 ; iRec < pCExtDockDynBar->m_arrBars.GetSize() ; iRec++ ){ pCExtDockDynBar->m_arrBars.GetAt(iRec); pBar = (CExtControlBar *)pCExtDockDynBar->m_arrBars[ iRec ]; if ( pBar == pExtControlBar ){ return 1; } } return -1 }
|
|
Technical Support
|
Jul 11, 2006 - 8:52 AM
|
This source code can be used only for determining the current position of a resizable control bar. When you are redocking or floating the bar, the previous position is lost. The outer bars like a toolbar keep markers in place of the docking position when the bar gets floating. The marker is a WORD value in the CDockBar::m_arrBars array. This approach is not acceptable for resizable control bars because, they can be organized into complex layouts with more than four dock bars near frame borders.
|
|