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 General Discussion » MDI Tab control hides tabs Collapse All
Subject Author Date
Sergio Buonanno Dec 22, 2006 - 8:16 AM

After using my MDI application for some time (linked with Prof-UIS 2.62) it happens that the MDI Tab control does not display anymore the TABs, it looks like there are no MDI child windows open.
What can be the problem ?

Technical Support Dec 22, 2006 - 12:11 PM

We failed to reproduce this bug. It seems this may be specific to your project. Would you either send us a project or reproduce the problem using one of our samples?

Sergio Buonanno Dec 29, 2006 - 8:56 AM

I’ll check better this problem. Maybe it’s my fault. It happened that from time to time the labels disappeared. Is there a function to force TAB control update ?

Sergio Buonanno Dec 29, 2006 - 9:27 AM

Some months ago you have given me the following code fragment to fix a flickering problem:

void CMDITabControl::OnTabWndSyncVisibility()
{
    if( m_bForceVisible )
    {
        DWORD dwWndStyle = GetStyle();
        if(     (!(        CExtControlBar::FindPrintPreviewMode(
                            STATIC_DOWNCAST( CFrameWnd, GetParent() )
                            )
                    ||    CExtControlBar::IsOleIpObjActive(
                            STATIC_DOWNCAST( CFrameWnd, GetParent() )
                            )
                ) )
            )
        {
            if( (dwWndStyle & WS_VISIBLE) == 0 )
            {
                ::SetWindowPos(
                    m_hWnd,
                    NULL, 0, 0, 0, 0,
                    SWP_NOSIZE|SWP_NOMOVE|SWP_NOZORDER|SWP_NOOWNERZORDER
                        |SWP_FRAMECHANGED
                        |SWP_SHOWWINDOW
                    );
                HWND hWndMdiArea = _GetHwndMdiArea();
                if( hWndMdiArea != NULL )
                    ::SetWindowPos(
                        hWndMdiArea,
                        NULL, 0, 0, 0, 0,
                        SWP_NOSIZE|SWP_NOMOVE|SWP_NOZORDER|SWP_NOOWNERZORDER
                            |SWP_FRAMECHANGED
                        );
            }
        }
        return;
    }
    CExtTabMdiWhidbeyWnd::OnTabWndSyncVisibility();
}

Could be this the cause ?

Technical Support Dec 30, 2006 - 1:03 PM

We updated the code for synchronizing the visibility of MDI tabs. Please download the latest code (2.63.1) from the download page.