Print Page | Close Window

Pane displays when app is minimized

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=16831
Printed Date: 29 May 2024 at 1:17am
Software Version: Web Wiz Forums 12.04 - http://www.webwizforums.com


Topic: Pane displays when app is minimized
Posted By: rdhd
Subject: Pane displays when app is minimized
Date Posted: 15 June 2010 at 12:52pm
We have a command that minimizes our application (not the minimize Windows icon). If a docking pane is floating when this occurs, it undisplays as it should but any call made to set the title of the pan causes CJ to force the floating pane to display. So we end up with a pane displayed when the app is minimized!
 
I have traced this bug to CXTPDockingPaneMiniWnd::InvalidatePane. In that method, there is this code:
 
if ((GetStyle() & WS_VISIBLE) == 0 )
  ShowWindow( SW_SHOWNOACTIVATE );
 
The result is that even though at the time this call is made the application is minimized, the floating pane, which is not visible when I get to this point in the code  is redisplayed on the desktop!
 
How can I update the title without the pane redisplaying on its own?



Replies:
Posted By: Carlos Rocha
Date Posted: 15 June 2010 at 8:57pm
Pane:Close ?

-------------
SuitePro 20.3.0
OS: Windows 10
Language: Visual Objects 2.8


Posted By: rdhd
Date Posted: 16 June 2010 at 8:47am

I have no idea that I need to "close" the pane and even if I did, when do I force it to "open" again? I would have to know if the user closed it or I did and why I did. The pane is undisplaying because the app is minimizing so I don't even control the reason it is not visible, CJ does.

I now check for the app being iconic before making any call to my pane(s). Instead of the call, I cache the data for the call and when WM_SIZE (restore/max) occurs, I make all the calls to the pane(s) I have deferred due to the app being iconic. Pane in the app but there appears to be nothing else I can do.


Posted By: Carlos Rocha
Date Posted: 16 June 2010 at 11:08am
With ActiveX is

Close := true
Close := false

I believe you can use a global variable to keep track of the pane state, and use it in the expose event (or something like that)

-------------
SuitePro 20.3.0
OS: Windows 10
Language: Visual Objects 2.8


Posted By: rdhd
Date Posted: 16 June 2010 at 6:03pm
I have a "global" variable. It is the title string. By avoiding the call to set the title, I avoid the window popping up only to quickly close. CJ simply should not be showing a window simply because I change the title. Note if you set the title of a window, Microsoft does not force the window to display if it is not visible.


Posted By: Carlos Rocha
Date Posted: 16 June 2010 at 6:26pm
I'm just trying to help. With CJ ActiveX, there are cases when floating panes stay visible, like switching to another window, minimizing the app whith a floating pane outside the boundaries, etc. - doesn't make sense in some cases, thought it might do in some others - so one must "close" and "re-open" it by hand.
Your case sounds like a bug, but maybe you can solve it in a similar way.


-------------
SuitePro 20.3.0
OS: Windows 10
Language: Visual Objects 2.8


Posted By: rdhd
Date Posted: 17 June 2010 at 10:12am

Thanks for the suggestions but I have solved it by not making any calls when my app is iconic.




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