Codejock Forums Homepage
Forum Home Forum Home > Codejock Products > Visual C++ MFC > Docking Pane
  New Posts New Posts RSS Feed - Pane paint problem during expand/collapse
  FAQ FAQ  Forum Search   Events   Register Register  Login Login

Pane paint problem during expand/collapse

 Post Reply Post Reply
Author
Message
RonISAC View Drop Down
Groupie
Groupie


Joined: 22 December 2006
Location: United States
Status: Offline
Points: 11
Post Options Post Options   Thanks (0) Thanks(0)   Quote RonISAC Quote  Post ReplyReply Direct Link To This Post Topic: Pane paint problem during expand/collapse
    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:
 
Back to Top
Oleg View Drop Down
Admin Group
Admin Group


Joined: 21 May 2003
Location: United States
Status: Offline
Points: 11234
Post Options Post Options   Thanks (0) Thanks(0)   Quote Oleg Quote  Post ReplyReply Direct Link To This Post Posted: 10 October 2007 at 1:29am
Hello,
 
 
Can you try reproduce it with one of our samples ?
Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS
Back to Top
RonISAC View Drop Down
Groupie
Groupie


Joined: 22 December 2006
Location: United States
Status: Offline
Points: 11
Post Options Post Options   Thanks (0) Thanks(0)   Quote RonISAC Quote  Post ReplyReply Direct Link To This Post 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
 
Back to Top
Jimor Marlow View Drop Down
Groupie
Groupie
Avatar

Joined: 03 June 2007
Location: Russian Federation
Status: Offline
Points: 30
Post Options Post Options   Thanks (0) Thanks(0)   Quote Jimor Marlow Quote  Post ReplyReply Direct Link To This Post 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.
Back to Top
Jimor Marlow View Drop Down
Groupie
Groupie
Avatar

Joined: 03 June 2007
Location: Russian Federation
Status: Offline
Points: 30
Post Options Post Options   Thanks (0) Thanks(0)   Quote Jimor Marlow Quote  Post ReplyReply Direct Link To This Post Posted: 05 November 2007 at 1:42pm
20071105_133824_TestDock.zip
It's the sample. Hide all panes to the left side. Then click on Properties and Options quickly.
Back to Top
RonISAC View Drop Down
Groupie
Groupie


Joined: 22 December 2006
Location: United States
Status: Offline
Points: 11
Post Options Post Options   Thanks (0) Thanks(0)   Quote RonISAC Quote  Post ReplyReply Direct Link To This Post 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
 
Back to Top
Jimor Marlow View Drop Down
Groupie
Groupie
Avatar

Joined: 03 June 2007
Location: Russian Federation
Status: Offline
Points: 30
Post Options Post Options   Thanks (0) Thanks(0)   Quote Jimor Marlow Quote  Post ReplyReply Direct Link To This Post Posted: 05 November 2007 at 3:00pm
My sample don't work properly on v11.2.0.
Back to Top
Oleg View Drop Down
Admin Group
Admin Group


Joined: 21 May 2003
Location: United States
Status: Offline
Points: 11234
Post Options Post Options   Thanks (0) Thanks(0)   Quote Oleg Quote  Post ReplyReply Direct Link To This Post 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
Back to Top
Jimor Marlow View Drop Down
Groupie
Groupie
Avatar

Joined: 03 June 2007
Location: Russian Federation
Status: Offline
Points: 30
Post Options Post Options   Thanks (0) Thanks(0)   Quote Jimor Marlow Quote  Post ReplyReply Direct Link To This Post Posted: 05 November 2007 at 4:03pm
I have no splitter and view has WS_CLIPCHILDREN|WS_CLIPSIBLINGS styles.
Back to Top
Jimor Marlow View Drop Down
Groupie
Groupie
Avatar

Joined: 03 June 2007
Location: Russian Federation
Status: Offline
Points: 30
Post Options Post Options   Thanks (0) Thanks(0)   Quote Jimor Marlow Quote  Post ReplyReply Direct Link To This Post Posted: 05 November 2007 at 4:06pm
and main frame, and windows in views too...
Back to Top
Oleg View Drop Down
Admin Group
Admin Group


Joined: 21 May 2003
Location: United States
Status: Offline
Points: 11234
Post Options Post Options   Thanks (0) Thanks(0)   Quote Oleg Quote  Post ReplyReply Direct Link To This Post 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
Back to Top
Jimor Marlow View Drop Down
Groupie
Groupie
Avatar

Joined: 03 June 2007
Location: Russian Federation
Status: Offline
Points: 30
Post Options Post Options   Thanks (0) Thanks(0)   Quote Jimor Marlow Quote  Post ReplyReply Direct Link To This Post Posted: 06 November 2007 at 1:57pm
Блин, you right! Thanx a lot, my fault.
Back to Top
 Post Reply Post Reply
  Share Topic   

Forum Jump Forum Permissions View Drop Down

Forum Software by Web Wiz Forums® version 12.04
Copyright ©2001-2021 Web Wiz Ltd.

This page was generated in 0.219 seconds.