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 » Auto hidden window goes to the background Collapse All
Subject Author Date
Thomas Maurer Oct 5, 2005 - 10:38 AM

Hello


I have a CExtControlBar which can be auto hidden. Everything seems to work fine but one thing: When the bar is hidden and is reopened again it seems to go to the background. It can be seen flickering and will then be hidden. When one clicks to where the bar should be the bar comes up again. For test reasons I put a listbox into the bar. When the bar with the listbox reappears the listbox is transparent (with a focus rectangle where the first item should be). What goes wrong?


BTW, when pinned everything is ok.


 


Thanks


 


Thomas


 

Marcus Gebler Nov 3, 2005 - 4:06 PM

Hello Thomas


I have the same problem, also in a MDI Application.
But adding the WS_CLIPSIBLING style does not make any difference - the reopen bars are still in the background.


How did you solve this problem?


Thank you
  Marcus


 

Thomas Maurer Dec 6, 2005 - 12:29 PM

Marcus


I only saw your message now (Dec 6). If you still need help with that then contact me under thomas.maurer-replacethiswholestuffincludinghyphenswithyouknowwhichsign-ierax.ch


Your name says you could be a German speaker and so am I (es geht also auch auf Deutsch)


Thomas

Technical Support Nov 4, 2005 - 7:51 AM

Dear Marcus,

You should not encounter this problem in the MDI application because the MDI client window already clips siblings. Are you sure your application is MDI?

Technical Support Oct 5, 2005 - 11:16 AM

We may guess you have an SDI application and the main view window does not have the WS_CLIPSIBLINGS style. Please take a look at the CChildView::PreCreateWindow() method and check whether it adds the WS_CLIPSIBLINGS style. Your method may look like:

BOOL CSDIDOCVIEWView::PreCreateWindow( CREATESTRUCT & cs )
{
    if( ! CView::PreCreateWindow(cs) )
        return FALSE;
    cs.style |= WS_CLIPSIBLINGS;
    return TRUE;
}
This problem does not occur in MDI applications because the MDI client container window has WS_CLIPSIBLINGS style turned on by default.

Thomas Maurer Oct 6, 2005 - 1:09 AM

Thank you. That helped a lot. I am using MDI but the bar is in the mdi child not in the mdi frame but I was able to figure that out myself :-).


 

Technical Support Oct 6, 2005 - 9:27 AM

Just think about an MDI child frame window as though it is the main frame window in an SDI application. So, our previous message in this thread fully relates to your question. The WS_CLIPSIBLINGS style should be applied to the view window in the MDI child frame window.