We changed the declaration of the CExtDynAutoHideSlider
class to fix this issue:
class __PROF_UIS_API CExtDynAutoHideSlider
: public CWnd
, CExtPmBridge
{
protected: ///////////////////////////////////////////////////////// THIS LINE WAS ADDED
HWND m_hWndAnimateSrc, m_hWndBar;
public: ///////////////////////////////////////////////////////// THIS LINE WAS ADDED
CExtDynAutoHideArea * _GetWndAnimateSrc();
CExtControlBar * _GetBar();
protected: ///////////////////////////////////////////////////////// THIS LINE WAS ADDED
//CExtDynAutoHideArea * m_pWndAnimateSrc;
//CExtControlBar * m_pBar;
CSize m_sizeControlBar;
bool m_bActiveState:1;
bool m_bWndActive:1;
bool m_bDeactivateTesting:1;
bool m_bAnimation:1;
UINT m_nResizingMode;
INT m_nResizingStart, m_nResizingMetric;
CExtBarNcAreaButton
* m_pLastHitTestM,
* m_pLastHitTestT,
* m_pLastHitTestB;
CToolTipCtrl m_wndToolTip;
CRect m_rcMax;
void _AnalyzeButtonsHover();
. . .
Please also do not add the following line into the
MuControlBar.cpp file:
IMPLEMENT_DYNCREATE( CMuControlBar, CExtControlBar );
Then you can do a small experiment in your test project. You can find the following lines in the
CMuControlBar::DoPaintNC()
method:
if( pFlashingBar->FlashCaptionIsInProgress( &bFlashCaptionHighlightedState ) )
{
_pgd.m_bFlashCaptionHighlightedState = bFlashCaptionHighlightedState;
_pgd.m_clrFlashCaptionText = pFlashingBar->m_clrFlashCaptionText;
_pgd.m_clrFlashCaptionBackground = pFlashingBar->m_clrFlashCaptionBackground;
if( pFlashingBar->FlashCaption_DoPaintNC(
*pDC,
(LPVOID)(&_pgd)
)
)
bDrawDefaultCaption = false;
} // if( pFlashingBar->FlashCaptionIsInProgress( &bFlashCaptionHighlightedState ) )
And replace them with the following lines:
<pre>// if( pFlashingBar->FlashCaptionIsInProgress( &bFlashCaptionHighlightedState ) )
{
_pgd.m_bFlashCaptionHighlightedState = true; // bFlashCaptionHighlightedState;
_pgd.m_clrFlashCaptionText = RGB(255,255,0); // pFlashingBar->m_clrFlashCaptionText;
_pgd.m_clrFlashCaptionBackground = RGB(255,0,0); // pFlashingBar->m_clrFlashCaptionBackground;
if( pFlashingBar->FlashCaption_DoPaintNC(
*pDC,
(LPVOID)(&_pgd)
)
)
bDrawDefaultCaption = false;
} // if( pFlashingBar->FlashCaptionIsInProgress( &bFlashCaptionHighlightedState ) )
<pre>As a result, each
CMuControlBar
window will have red caption with yellow text on it.
Here is the modified version of your project:
http://www.prof-uis.com/download/forums/tmp/MDI-for-tera.zip