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 Tech Support » Bugs in Release 2.64 Collapse All
Subject Author Date
Hans Bergmeister Feb 22, 2007 - 2:31 AM

Hello,

many thanks for releasing version 2.64. It seems to contain many great new features and improvements.

However, the following bugs, that have been reported earlier, still persist in Version 2.64:

1.
Gradient control bar backgrounds are not always painted correctly. CExtPaintManagerOffice2003::PaintDockerBkgnd() stopps filling of the gradient at x-position 686 and continues painting a solid rectangle up to the right border of the background. Depending on the display settings the solid color may not match the rightmost gradient color, which causes the display of a vertical "edge" in the background.

This effect can be reproduced with the MDI_DynamicBars sample and the Office 2007 (Release 2) Silver theme. On displays with lower color depth (16 bit) the effect can be seen better, but it is also there on true color displays. A screenshot, that shows the effect, has been sent by email to the Prof-UIS support team.

2.
Start the MDI_DynamicBars sample and make Dynamic Bar 8, Dynamic Bar 9 and Dynamic Bar 10 floating. Then dock Bar 9 and then Bar 10 together with bar 8 side by side in a row within the same floating container. Bar 8 to the left, Bar 9 in the middle, Bar 10 to the right, visible side by side in a row (not tabbed !!) within the same floating container. Now hide the floating container together with all three bars by clicking the X in the container’s NC area. Now select the menu entry View->Dynamic Resizable Bars->Dynamic Bar 10. Dynamic Bar 10 should become visible now - but nothing happens instead.

3.
Start the MDI_DynamicBars sample and make Dynamic Bar 8, Dynamic Bar 9 and Dynamic Bar 10 floating. Then dock Bar 9 and then Bar 10 together with bar 8 side by side in a row within the same floating container. Bar 8 to the left, Bar 9 in the middle, Bar 10 to the right, visible side by side in a row (not tabbed !!) within the same floating container (let’s call this "Figure 1"). Now hide the floating container together with all three bars by clicking the X in the container’s NC area. Now select the menu entry View->Dynamic Resizable Bars->Dynamic Bar 8. Dynamic Bar 8 appears as expected. Now select View->Dynamic Resizable Bars->Dynamic Bar 9. Dynamic Bar 9 appears as expected right of Dynamic Bar 8. Now select View->Dynamic Resizable Bars->Dynamic Bar 10. Dynamic Bar 10 appears, too, but the sizes of the bars, i.e. the ratio of their particular widths, does not match the original ratio of "Figure 1". In our case Bar 9 ends as a very narrow window with a width of a few pixels. In other words: the three bars are not restored with their previous width.

Technical Support Feb 25, 2007 - 11:32 AM

Regarding items 2 and 3 in your message, please update the source code for the CExtControlBar::DelayShow() method in ../Prof-UIS/Src/ExtControlBar.cpp file:

void CExtControlBar::DelayShow( BOOL bShow )
{
      ASSERT_VALID( this );
CMiniDockFrameWnd * pMiniFrame =
            DYNAMIC_DOWNCAST( CMiniDockFrameWnd, GetParentFrame() );
      if(         IsFloating()
            &&    (! IsVisible() )
            &&    (! IsFixedMode() )
            )
      {
            if( pMiniFrame != NULL )
            {
                  ASSERT_VALID( pMiniFrame );
                  pMiniFrame->ModifyStyle( 0, FWS_SNAPTOBARS );
            }
      }
#if (!defined __EXT_MFC_NO_TAB_CONTROLBARS)
      else
      if( m_bAutoHideMode )
            bShow = FALSE;
#endif // (!defined __EXT_MFC_NO_TAB_CONTROLBARS)
      if( pMiniFrame != NULL && bShow && m_pDockBar->GetSafeHwnd() != NULL )
      {
            CControlBar::DelayShow( bShow );
            CControlBar * pParentBar = DYNAMIC_DOWNCAST( CControlBar, m_pDockBar->GetParent() );
            if( pParentBar != NULL )
                  pParentBar->DelayShow( bShow );
            else
            {
                  pMiniFrame->RecalcLayout();
                  pMiniFrame->ShowWindow( SW_SHOWNA );
            }
            return;
      }
      CControlBar::DelayShow( bShow );
}
This should fix the problem.

Hans Bergmeister Feb 26, 2007 - 2:18 AM

I can commit, that item 2 seems to be is solved now. Many thanks for taking care.

Item 3, however, still persists. The source update does NOT fix the problem!

Technical Support Feb 22, 2007 - 11:21 AM

Thank you for the kind words and reporting the problems.

1) As we mentioned earlier, in regard with this issue, we implemented a design similar to that available in Microsoft. To eliminate the transition effect, we changed the code a bit.

2,3) We reproduced the problem. It is the highest possible priority for us. We hope to fix this issue in a few days. We will notify as it is ready.



Hans Bergmeister Feb 22, 2007 - 11:50 AM

Hello,

1) in the meantime I verified the code change and can commit, that the transition effect is gone now in all themes and different display settings. Many thanks for the fast response.

2,3) I will be happy to verify your fix, if you like, when it is available. Many thanks for taking care here, too.