LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Can I split my front panel into multiple windows?

Solved!
Go to solution
I have a large front panel (1600x900) that gets compiled to an executable. Scaling for different resolutions (vi properties -> Window size/appearance) has the effect of buttons being displaced and warped in size when run on a lower resolution monitor (1366x768). Not scaling for different resolutions and running at a lower resolution causes the active portion of the window to be shifted, making some buttons hidden and inaccessible. My intuition is to split the front panel into multiple windows whose visibility can be toggled, but I may be wrong in my approach. How would you handle this problem?
0 Kudos
Message 1 of 6
(4,323 Views)

What I have done is to reposition front panel objects with their x and y positions programmatically depending on the display resolution. I've done this on programs in the old Visual Studio days, and it worked fine on the LabView program, but this was done from an ini file instead of reading in the display resolution. I just put a few resolutions with the constants for positions into a case structure, and then on program start the correct constants read out to the front panel objects positions. This was a program that would only go on three computers in the factory so I didn't bother reading in the resolution to set the case structure like it really should be.

I didn't like all of the property nodes on the block diagram. If I had to do it over it would be better to use x and y position arrays and then set the positions by reference in a loop.

I've also never been happy with the positioning when resizing my front panels.

One program I had one view with a graph that needed to be maximized and used the same basic approach for controls to make it look better, but this one didn't support multiple display resolutions.

 

Glad to answer questions. Thanks for any KUDOS or marked solutions 😉
0 Kudos
Message 2 of 6
(4,306 Views)

I just plan my GUIs based on the smallest resolutions my program will see.  If more information is needed than can fit onto that screen, tab controls or subpanels are typically the way to go.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
Message 3 of 6
(4,250 Views)
It's really only my main Vi that has resolution problems. The rest of my VIs are dialog boxes for the most part. How do you avoid the problems listed in the OP where buttons get warped/moved off the screen at lower resolutions?
0 Kudos
Message 4 of 6
(4,243 Views)

@ijustlovemath wrote:
It's really only my main Vi that has resolution problems. The rest of my VIs are dialog boxes for the most part. How do you avoid the problems listed in the OP where buttons get warped/moved off the screen at lower resolutions?

I don't autoscale.  I have not ran into any modern resolutions that cause warping.  If I find time, I do some experiments with some.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
Message 5 of 6
(4,236 Views)
Solution
Accepted by topic author ijustlovemath

You can add some splitter bars and have only certain parts scale. It might not be enough, if it's a "button section" and a graph e.g. that's a good way to only have the graph scale.

/Y

G# - Award winning reference based OOP for LV, for free! - Qestit VIPM GitHub

Qestit Systems
Certified-LabVIEW-Developer
0 Kudos
Message 6 of 6
(4,191 Views)