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? Eric Rubin _______________________________________________ wxruby-users mailing list wxruby-users@rubyforge.org http://rubyforge.org/mailman/listinfo/wxruby-users
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
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
Looks like Window#set_window_style_flag allows me to turn STAY_ON_TOP on and off (in MS Windows). Eric -----Original Message----- From: wxruby-users-bounces at rubyforge.org [mailto:wxruby-users-bounces at rubyforge.org] On Behalf Of Eric Rubin Sent: Thursday, November 20, 2008 10:03 AM To: ''General discussion of wxRuby'' Subject: Re: [wxruby-users] Making a frame stay on top sometimes 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 _______________________________________________ wxruby-users mailing list wxruby-users at rubyforge.org http://rubyforge.org/mailman/listinfo/wxruby-users
Eric Rubin wrote:> Looks like Window#set_window_style_flag allows me to turn STAY_ON_TOP on and > off (in MS Windows). >Ah, thanks, I thought there was some method that did this but couched in warnings about changes to some flags on some platforms not being honoured. Useful to know that this one is - much neater solution. alex