Sign in to follow this  
bcs112

Detecting menu and moving panels ?

Recommended Posts

Hi all,Since the kind people from MS have made the FSX main menu bar floating over the simulator window, it now happens that parts of panels are hidden behind that menu.This is off course very annoying, especially if you have switches for instance that are now no longer clickable unless the menu is hidden (just found that pressing AltGr for a few seconds will do that btw).Because there seems to be no obvious way to detect if the main menu is visible or not, I have moved some panels down a bit so they are located just below the menu bar. So far so good, but, and you saw this one comming I guess, if you then hide the menu, or switch to full screen mode, the panels are floating somewhat below the top of the screen ! So now I have two questions:- did anyone find a way to detect if the main menu is visible (using C++)- and if so, is there a way I can move and resize the panels so they fit again ?Thanks for the help !Bj

Share this post


Link to post
Share on other sites
Help AVSIM continue to serve you!
Please donate today!

I use the following to detect if the main window (2d panel) is visible and set another variable "vc_active" accordingily: if ( !is_panel_window_visible_ident(0) ) { vc_active = 1 ; } else { vc_active = 0 ; }I use this to "stop drawing/displaying" VC gauges whenever the 2d panel is on screen, as there's little point in spending the CPU resources to draw 'em if they're not visible! ;)

Share this post


Link to post
Share on other sites

Yes, I had the same problem when I tried to place the Icon of my "groundhandling" window at the top of the screen.Of course, there may be a way to work around this yet another newly introduced "feature" :-( in FSX, like you suggest, but I gave up.I took the simple way out, by just making sure that I have no clickable spots in the menu bar area when made visible.Rob

Share this post


Link to post
Share on other sites

>And how is that variable used to suppress the individual>gauge display?>FredAll gauges run as a continuous, in-process loop at 18Hz while loaded.By watching the flag, it's rather simple to suspend the loop for any gauge. For example:if (vc_active == 1) { do gauge stuff ; ) else { NULL ; }

Share this post


Link to post
Share on other sites

Hi Bill,Yes I know about this one (read it in another thread by you ;))and I use it in fact for other things but that doesn't tell you if the Menu bar is shown nor does it enable you to move a window.Bj

Share this post


Link to post
Share on other sites

Hi Rob,That was also my last resort, like you say, not really a good way to solve it but maybe the best we can do. It is really a shame that MS always adds stuff and then leaves us to find a way to get your panels to work again...Bj

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this