|
|
|
|
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 |
|
Gevork Odabashyan
|
Oct 6, 2006 - 4:05 AM
|
Hellow
Please do the following steps in attached sample: 1. Open new dynamic bar ("Create dynamic bar\Bar 1"). Keep in mind it’s floating size. 2. Switch UI profile from Profile 1 to Profile 2 ("Switch Profile\To Profile 2"). 3. Switch UI profile from Profile 2 to Profile 1 ("Switch Profile\To Profile 1"). Check the size of dynamic bar. It’s restored wrong.
|
|
Gevork Odabashyan
|
Oct 6, 2006 - 4:06 AM
|
|
|
Technical Support
|
Oct 6, 2006 - 9:36 AM
|
We received the project and working on the issue now. Thank you.
|
|
Gevork Odabashyan
|
Oct 10, 2006 - 2:44 AM
|
Could you correct this problem as soon as possible? It’s very critical for us now.
|
|
Technical Support
|
Oct 12, 2006 - 11:54 AM
|
We fixed the bug so you can download and use the update from our ftp site. PS We sent you an e-mail but it returned back:
Undeliverable Mail
|
|
Gevork Odabashyan
|
Oct 16, 2006 - 8:36 AM
|
Hellow
I’ve found two problems after this update. The first is that CExtEdit doesn’t respond on keyboard input. The second is that you need to click CExtButton twice to make an action. To illustrate the problems, click Test\Dialog in test sample. The sample foss-test3.rar was sent to support@prof-uis.com.
|
|
Technical Support
|
Oct 17, 2006 - 10:26 AM
|
Thank you for reporting the bug. To fix it, please update this version of the CExtPopupMenuWnd::_EndSequence() overloaded method (../Prof-UIS/Src/ExtPopupMenuWnd.cpp): void CExtPopupMenuWnd::_EndSequence(
UINT nCmdID, // = 0
HWND hWndDeliver // = NULL
)
{
__PROF_UIS_MANAGE_STATE;
ASSERT_VALID( this );
HWND hWndOwn = GetSafeHwnd();
ASSERT( hWndOwn != NULL );
if( (! _IsFadeOutAnimation() )
&& m_ctrlShadow.GetSafeHwnd() != NULL
)
m_ctrlShadow.DestroyWindow();
#ifdef _DEBUG
if( hWndDeliver != NULL )
{
ASSERT( ::IsWindow(hWndDeliver) );
}
#endif
ASSERT( m_hWndCmdReceiver != NULL );
ASSERT( ::IsWindow(m_hWndCmdReceiver) );
CExtPopupMenuSite & _site = GetSite();
UINT * lpnResultCmdID = _site.GetTargetCmdIdPtr();
if( lpnResultCmdID != NULL )
*lpnResultCmdID = nCmdID;
DWORD dwTrackFlags = TrackFlagsGet();
CExtCmdItem * pCmdItem = NULL;
if( nCmdID > 0 && ((dwTrackFlags&TPMX_NO_WM_COMMAND)==0) )
{
pCmdItem =
g_CmdManager->CmdGetPtr(
g_CmdManager->ProfileNameFromWnd( m_hWndCmdReceiver ),
nCmdID
);
}
CExtPopupMenuWnd * pTopPopup = _site.GetInstance();
ASSERT_VALID( pTopPopup );
HWND hWndTopPopup = pTopPopup->GetSafeHwnd();
ASSERT(
hWndTopPopup != NULL
&& ::IsWindow( hWndTopPopup )
);
if( hWndDeliver == NULL )
hWndDeliver = m_hWndCmdReceiver;
CWnd * pTopLevelParent = GetTopLevelParent();
HWND hWndTopLevelParent = pTopLevelParent->GetSafeHwnd();
CRect rcBkUpdate( 0, 0, 0, 0 );
bool bFadeOut = _IsFadeOutAnimation();
if( ! bFadeOut )
{
CExtPopupMenuWnd * pPopup = this;
for( ; pPopup != NULL; pPopup = pPopup->m_pWndParentMenu )
{
ASSERT_VALID( pPopup );
ASSERT( pPopup->GetSafeHwnd() != NULL );
ASSERT( ::IsWindow( pPopup->GetSafeHwnd() ) );
CRect rcPopup;
pPopup->GetWindowRect( &rcPopup );
if( rcBkUpdate.IsRectEmpty() )
rcBkUpdate = rcPopup;
else
{
CRect rcPrev( rcBkUpdate );
rcBkUpdate.UnionRect( &rcPrev, &rcPopup );
}
CExtPopupMenuTipWnd & _tipWnd = pPopup->GetTip();
if( _tipWnd.GetSafeHwnd() != NULL
&& ::IsWindow( _tipWnd.GetSafeHwnd() )
&& _tipWnd.IsWindowVisible()
)
{
CRect rcToolTip;
_tipWnd.GetWindowRect( &rcToolTip );
CRect rcPrev( rcBkUpdate );
rcBkUpdate.UnionRect( &rcPrev, &rcToolTip );
}
pPopup->ShowWindow( SW_HIDE );
}
if( ! g_PaintManager.m_bIsWin2000orLater )
CExtPaintManager::stat_PassPaintMessages();
if( !rcBkUpdate.IsRectEmpty()
&& hWndTopLevelParent != NULL
&& ::IsWindow(hWndTopLevelParent)
)
{
::ScreenToClient(
hWndTopLevelParent, (LPPOINT)&rcBkUpdate);
::ScreenToClient(
hWndTopLevelParent, ((LPPOINT)&rcBkUpdate)+1
);
}
}
if( m_hWndNotifyMenuClosed != NULL
&& ::IsWindow( m_hWndNotifyMenuClosed )
)
::SendMessage(
m_hWndNotifyMenuClosed,
g_nMsgNotifyMenuClosed,
WPARAM(nCmdID),
LPARAM( this )
);
if( ! bFadeOut )
{
if( ::IsWindow( hWndTopPopup ) )
::PostMessage( hWndTopPopup, WM_CLOSE, 0, 0 );
CExtToolControlBar::_CloseCustomMenusAll();
if( CExtToolControlBar::g_bMenuTracking )
CExtToolControlBar::_CloseTrackingMenus();
}
if( ! ::IsWindow( hWndOwn ) )
return;
if( ::IsWindow(hWndDeliver)
&& (! _FindCustomizeMode() )
)
{
if( pCmdItem != NULL )
{
if( (dwTrackFlags&TPMX_NO_WM_COMMAND)==0 )
{
if( ! bFadeOut )
_site.DoneInstance();
VERIFY( pCmdItem->Deliver(hWndDeliver) );
}
}
else
{
if( bFadeOut
&& m_nCurIndex >= 0
&& ItemGetInfo( m_nCurIndex ).IsPopup()
)
{
CExtPopupMenuWnd * pPopup = ItemGetInfo( m_nCurIndex ).GetPopup();
if( pPopup->GetSafeHwnd() != NULL )
{
INT nSaved = pPopup->m_nFadeOutAnimationStepCount;
if( nCmdID == 0 )
pPopup->m_nFadeOutAnimationStepCount = -1;
pPopup->_EndSequence( nCmdID, hWndDeliver );
pPopup->m_nFadeOutAnimationStepCount = nSaved;
return;
}
}
if( (dwTrackFlags&TPMX_NO_WM_COMMAND) == 0
&& nCmdID != 0
)
::PostMessage(
hWndDeliver,
WM_COMMAND,
WPARAM(nCmdID),
0L
);
}
g_SoundPlayer->PlaySound(
CExtSoundPlayer::__ON_MENU_CMD_CLICKED
);
}
if( bFadeOut )
DestroyWindow();
else
_site.DoneInstance();
}
|
|
Gevork Odabashyan
|
Oct 13, 2006 - 9:11 AM
|
I have downloaded the update. It seems all works fine. Thanks for support!
|
|
Technical Support
|
Oct 11, 2006 - 10:41 AM
|
We are still working on this problem and hope to release this fix in two days.
|
|