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 » Issue with the CExtTabMdiWhidbeyWnd Collapse All
Subject Author Date
Pierre MEDART Oct 16, 2007 - 4:14 AM

We are using CExtTabMdiWhidbeyWnd to display our Views.

We are facing an issue because in the OnActivateView the p_OurView->IsWindowVisible() always return false.

This is annoying because previously we did some synchronization with other part of our UI that are no longer done.

No code was changed at the view level. Does the CExtTabMdiWhidbeyWnd change this behaviour? If so, can we change it ?

void COurView::OnActivateView(BOOL bActivate, CView* pActivateView, CView* pDeactiveView)
{

    if (bActivate && pActivateView && pActivateView->IsWindowVisible())    {
Synchronize();
    }
    CBaseClassVIew::OnActivateView(bActivate, pActivateView, pDeactiveView);
}

Technical Support Oct 16, 2007 - 12:26 PM

Could you send us this test MDI application with instructions how we can see the incorrect behavior so we can find out what’s wrong?

Pierre MEDART Oct 16, 2007 - 8:03 AM

The issue is that I, me as a user, can see the window associated with this view. (nothing is on the way...)

I made a small MFC mdi application, the behaviour is still the same. It really seems that holding the VIew in the MdiTab changes the IsWindowVisible()

Technical Support Oct 16, 2007 - 7:07 AM

The IsWindowVisible() API can return FALSE even if the window has the WS_VISIBLE style, but it is completely covered by other window(s). We think you should simply use the bActivate flag parameter and invoke Synchronize() if bActivate!=FALSE.