[wxruby-users] Making a frame stay on top sometimes

Eric Rubin erubin at valcom.com
Thu Nov 20 10:02:53 EST 2008


Thanks, but I just noticed that there is a Window#set_window_style_flag
which seems like it would do what I want.  I think I'll give that a try.  If
it doesn't work I might try your two frames solution.

Eric

-----Original Message-----
From: wxruby-users-bounces at rubyforge.org
[mailto:wxruby-users-bounces at rubyforge.org] On Behalf Of Alex Fenton
Sent: Thursday, November 20, 2008 9:49 AM
To: General discussion of wxRuby
Subject: Re: [wxruby-users] Making a frame stay on top sometimes

Hi Eric

Eric Rubin wrote:
>
> I'm using STAY_ON_TOP in the style when I create my Frame app so it is 
> always on top, and it works fine. What I want, though, is for the 
> Frame to stay on top under some conditions, but behave normally under 
> other conditions. I don't see any set_style method for Frame that 
> would let me turn the STAY_ON_TOP behavior on and off dynamically. Is 
> there any way to do this?
>

 From my reading of wxWidgets discussions, there's no way to change the 
style flags of a Window (inc Frame) after it's been created. This is 
because changes are not guaranteed to be honoured on all platforms.

The way round this in your circumstance might be to have two frames, 
with one hidden and one shown at any time. One has the STAY_ON_TOP 
style, the other not. When you want to change the STAY_ON_TOP behaviour:

1) hide the currently shown frame
2) reparent that frame's top-level content (eg Panel) to the other frame
3) move the frame you're about to show to the same size and position
4) show the previously hidden frame

hth
alex

_______________________________________________
wxruby-users mailing list
wxruby-users at rubyforge.org
http://rubyforge.org/mailman/listinfo/wxruby-users



More information about the wxruby-users mailing list