Thomas Robertson Posted March 22, 2013 Report Share Posted March 22, 2013 Hi, We're about to try to do an ambitious experiment that if it works will drastically change the look and feel of our software. I wanted to see if someone has already done this or if it's been tried before by smarter minds than ours and shown to be un-doable. Our software allows people to create display windows (like graphs and tables) at will that in turn open up in separate windows. We would love to be able to constrain these windows within our program window, bind them to tabs on the main window, do soft-snapping with other windows, allow them to be docked, bind them inside window panes so that if there are too many of them you can scroll up/down to see them rather than have a mess of windows all over your screen, and all kinds of other spiffy things that you can do in other programming languages. However, LabVIEW doesn't seem to be up to the task from what I can tell of it's vi property/invoke nodes. I recently was successful at making something closer to what we want, however. I made a fake window toolbar from a picture control, put a subpanel underneath it, and put another control at the bottom right of the subpanel control for resizing. I then captured mouse clicks and mouse drag events to detect the picture control being clicked on and drug to move the "window" around and similarly for the window resize control. Attached is an image of the fake window Doing this I was able to have this "fake" display window contained within a tab on our main application window that was able to be moved around and could even be moved off the screen but accessed via the scroll bars. Now the question is whether we can scale this up. We're going to try to create an Xcontrol which has the titlebar, subpanel, resize control and handles mouse events. I'm not sure this is possible, however. Whether we can get all the mouse event handling worked out and passed to the proper Xcontrol, and whether this scheme will put too much load on the processor. So... Anyone done this before? Quote Link to comment
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.