Pane displays when app is minimized |
Post Reply |
Author | |
rdhd
Senior Member Joined: 13 August 2007 Location: United States Status: Offline Points: 894 |
Post Options
Thanks(0)
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?
|
|
Carlos Rocha
Groupie Joined: 11 February 2008 Location: Portugal Status: Offline Points: 92 |
Post Options
Thanks(0)
|
Pane:Close ?
|
|
SuitePro 20.3.0
OS: Windows 10 Language: Visual Objects 2.8 |
|
rdhd
Senior Member Joined: 13 August 2007 Location: United States Status: Offline Points: 894 |
Post Options
Thanks(0)
|
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.
|
|
Carlos Rocha
Groupie Joined: 11 February 2008 Location: Portugal Status: Offline Points: 92 |
Post Options
Thanks(0)
|
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 |
|
rdhd
Senior Member Joined: 13 August 2007 Location: United States Status: Offline Points: 894 |
Post Options
Thanks(0)
|
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.
|
|
Carlos Rocha
Groupie Joined: 11 February 2008 Location: Portugal Status: Offline Points: 92 |
Post Options
Thanks(0)
|
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 |
|
rdhd
Senior Member Joined: 13 August 2007 Location: United States Status: Offline Points: 894 |
Post Options
Thanks(0)
|
Thanks for the suggestions but I have solved it by not making any calls when my app is iconic. |
|
Post Reply | |
Tweet
|
Forum Jump | Forum Permissions You cannot post new topics in this forum You cannot reply to topics in this forum You cannot delete your posts in this forum You cannot edit your posts in this forum You cannot create polls in this forum You cannot vote in polls in this forum |