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 » performance issue with the tab mdi Collapse All
Subject Author Date
Pierre MEDART Feb 21, 2008 - 10:31 AM

Hi,

we use a tabmdi derived from the CExtTabMdiWhidbeyWnd, we override the OnTabSyncVisibility with

void COurTabMdi::OnTabWndSyncVisibility()
{
    ASSERT_VALID( this );
    if( GetSafeHwnd() == NULL )
        return;
    
    OurFrame * pMainFrame = STATIC_DOWNCAST( OurFrame, GetParent() );

    ASSERT_VALID( pMainFrame );
    
    if( !pMainFrame->IsStandardMDI() )
    {
        CExtTabMdiWhidbeyWnd::OnTabWndSyncVisibility();
        return;
    }

    DWORD dwWndStyle = GetStyle();
    if( (dwWndStyle & WS_VISIBLE) == 0 )
        return;
    
    ::SetWindowPos(
        m_hWnd,
        NULL, 0, 0, 0, 0,
        SWP_NOSIZE|SWP_NOMOVE
            |SWP_NOZORDER|SWP_NOOWNERZORDER
            |SWP_NOREPOSITION
            |SWP_HIDEWINDOW
        );
}


To open 41 docs without the TabMdi, it requires 23 sec.
To open the same 41 docs, with the TabMdi, it require 1 min 48 sec.

Any suggestion? We use 2.70 version of the toolkit.

Technical Support Feb 25, 2008 - 12:28 PM

The ProfStudio sample application demonstrates how to implement on-the-fly switching between classic MDI and tabbed MDI interfaces. The MDI tab window persistently exists in this sample application. It is visible in the tabbed mode and invisible in the classic mode. The implementation is based on overriding the CExtTabWnd::OnTabWndSyncVisibility() virtual method. So you can try turning on the tabbed MDI interface after all your documents are created.