Print Page | Close Window

Pane paint problem during expand/collapse

Printed From: Codejock Forums
Category: Codejock Products
Forum Name: Docking Pane
Forum Description: Topics Related to Codejock Docking Pane
URL: http://forum.codejock.com/forum_posts.asp?TID=8367
Printed Date: 12 December 2024 at 3:52pm
Software Version: Web Wiz Forums 12.04 - http://www.webwizforums.com


Topic: Pane paint problem during expand/collapse
Posted By: RonISAC
Subject: Pane paint problem during expand/collapse
Date Posted: 09 October 2007 at 4:53pm
I am having problems with windows behind my application being allowed to write over my MDI app mainframe and panes during the expansion and collapse of panes.
 
There is apparantly a window of vunerability during the expand/collapse process that prevent the MDI frame and some open panes from redrawing themselves.  The problem does not correct until I make the pane at the bottom of the frame the selected pane or resize the window etc. Refer to the image below.
 
I am using v10.3.
 
Thankful for any suggestions.  Here is an example showing VS bleeding through during pane expand/collapse:
 



Replies:
Posted By: Oleg
Date Posted: 10 October 2007 at 1:29am
Hello,
 
 
Can you try reproduce it with one of our samples ?


-------------
Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS


Posted By: RonISAC
Date Posted: 10 October 2007 at 9:47am
I can see a similiar, but not identical, result by openning the GUI_VisualStudio7_vc71 sample application and execute it (debug) in front of VS with the VS Output window behind the same corner of the frame (lower right).  In this case, each time I open the side tab window on the left, it causes the painting of a miss aligned segment of the bottom pane border and then leaves it that way until the bottom pane is selected.  Each time the tab window on the left is openned, another miss aligned segment of the lower pane border is written above the last in the area over the VS Output window.
 
I use the Output window as a test case as VS constantly writes to this window during mouse moves etc.  Other applications with constantly written windows would probably show the behavior when placed behind the application frame.
 
This behavior is also seen when I compile a released version of my appl and run it on other machines.  The machines I have used are using XP Pro OS.
 
Thanks, Ron Follmer
 


Posted By: Jimor Marlow
Date Posted: 05 November 2007 at 1:35pm
I've got the same problem. To reproduce it you have to have at least two hidden panes, then activate the first one and quckly the second. And you can see some "noise" on the panes contents. I think issue in animation engine. The pane's content wasn't repainted after all. If you force pane to invalidate all seems ok.


Posted By: Jimor Marlow
Date Posted: 05 November 2007 at 1:42pm
uploads/20071105_133824_TestDock.zip - 20071105_133824_TestDock.zip
It's the sample. Hide all panes to the left side. Then click on Properties and Options quickly.


Posted By: RonISAC
Date Posted: 05 November 2007 at 2:51pm
Jimor,
 
I have since upgraded to v11.2 of the library.  This has made the problem go away for me so far.  Using the same test I used before, the problem does not repeat.
 
RonISAC
 


Posted By: Jimor Marlow
Date Posted: 05 November 2007 at 3:00pm
My sample don't work properly on v11.2.0.


Posted By: Oleg
Date Posted: 05 November 2007 at 3:24pm
Hello,
 
You need add clip styles for all your views/splitters
 
m_wndSplitter.ModifyStyle(0, WS_CLIPCHILDREN|WS_CLIPSIBLINGS);
etc.


-------------
Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS


Posted By: Jimor Marlow
Date Posted: 05 November 2007 at 4:03pm
I have no splitter and view has WS_CLIPCHILDREN|WS_CLIPSIBLINGS styles.


Posted By: Jimor Marlow
Date Posted: 05 November 2007 at 4:06pm
and main frame, and windows in views too...


Posted By: Oleg
Date Posted: 06 November 2007 at 1:44am
In attached sample replace
 

BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/,

CCreateContext* pContext)

{

m_wndSplitter.Create(this,

2, 2, // TODO: adjust the number of rows, columns

CSize(10, 10), // TODO: adjust the minimum pane size

pContext);

m_wndSplitter.ModifyStyle(0, WS_CLIPSIBLINGS | WS_CLIPCHILDREN);

return TRUE;

}

 

and it will work.



-------------
Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS


Posted By: Jimor Marlow
Date Posted: 06 November 2007 at 1:57pm
Блин, you right! Thanx a lot, my fault.



Print Page | Close Window

Forum Software by Web Wiz Forums® version 12.04 - http://www.webwizforums.com
Copyright ©2001-2021 Web Wiz Ltd. - https://www.webwiz.net