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 |
|
Neville Franks
|
Dec 11, 2006 - 2:02 AM
|
If you close the "UI Theme" Toolbar the View|UI Theme menu does not ’check’ the current theme’s menu item. If you change the theme and then use View|UI Theme you will see the previous theme is checked, not the current one. Showing the UI Theme Toolbar resolves this.
The Drawcli sample demonstrates this. It also happens in my app.
Neville, http://www.surfulater.com
|
|
Neville Franks
|
Dec 12, 2006 - 5:34 PM
|
|
|
Technical Support
|
Dec 12, 2006 - 4:43 AM
|
Thank you for reporting the problem. To fix it, please update the source code of the CExtThemeSwitcherToolControlBar::PreTranslateMessage() method in the ..\Prof-UIS\Src\ExtControls.cpp file: BOOL CExtThemeSwitcherToolControlBar::PreTranslateMessage( MSG * pMsg )
{
if( m_bCommandProfileInitialized
&& GetSafeHwnd() != NULL
&& pMsg->message == CExtPopupMenuWnd::g_nMsgPrepareOneMenuLevel
)
{
CExtPopupMenuWnd::MsgPrepareMenuData_t * pData =
reinterpret_cast
< CExtPopupMenuWnd::MsgPrepareMenuData_t * >
( pMsg->wParam );
ASSERT( pData != NULL );
CExtPopupMenuWnd * pPopup = pData->m_pPopup;
ASSERT( pPopup != NULL );
#if (!defined __EXT_MFC_NO_CUSTOMIZE)
bool bCustomizeMode = false;
CExtPopupMenuWnd * pTestPopup = pPopup;
for( ; pTestPopup != NULL ; pTestPopup = pTestPopup->GetParentMenuWnd() )
{
if( (pPopup->TrackFlagsGet()&TPMX_CUSTOMIZE_MODE) != 0 )
{
bCustomizeMode = true;
break;
}
}
if( ! bCustomizeMode )
{
CExtCustomizeSite * pSite =
CExtCustomizeSite::GetCustomizeSite( m_hWnd );
if( pSite != NULL )
{
bCustomizeMode = pSite->IsCustomizeMode();
if( ! bCustomizeMode )
bCustomizeMode = ( pSite->DraggedNodeGet() != NULL ) ? true : false;
}
}
if( ! bCustomizeMode )
#endif
{
for( ; true; )
{
INT nReplacePos =
pPopup->ItemFindPosForCmdID( m_nMenuMarkerID );
if( nReplacePos < 0 )
break;
pData->m_bMenuChanged = true;
pPopup->ItemRemove( nReplacePos );
INT nIndex, nCount = GetButtonsCount();
for( nIndex = 0; nIndex < nCount; nIndex++ )
{
CExtBarButton * pQueueTBB = GetButton( nIndex );
ASSERT_VALID( pQueueTBB );
CExtThemeSwitcherToolButton * pTBB =
DYNAMIC_DOWNCAST(
CExtThemeSwitcherToolButton,
pQueueTBB
);
if( pTBB == NULL )
continue;
ThemeSwitcher_OnButtonUpdate( pTBB );
pTBB->PutToPopupMenu( pPopup );
}
}
}
}
return FALSE;
}
|
|