LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Resolution issure

I have LabVIEW running on a server that clients can connect to and monitor telemetry data. I have added a background (Wallpaper) to each front panel for aesthetics. Clients are accessing this server remotely; therefore, the server adjusts to the resolution of the users PC. The front panel does not adjust to varying resolutions. I programmed the VI at my maximum resolution and enabled scroll bars to compensate for this, but this has led to an infinite sroll area. Is there a way to trouble shoot either of these problems? I need the LabVIEW resolution to adjust according to the user’s resolution to give me a single page panel, or somehow engage limits to the scroll area. I have read through the threads related to both issues and cannot find a solid solution.

0 Kudos
Message 1 of 9
(3,978 Views)
Hi TheStig,

You're not providing very much information, but there is a website on changing screen resolution programatically.

Changing Screen Resolution Programmatically From LabVIEW

This should provide a good basis for comparing your code.

Michael K.

| Michael K | Project Manager | LabVIEW R&D | National Instruments |

0 Kudos
Message 2 of 9
(3,949 Views)

Look at the following attachments for an example. The file names are the screen shot resolutions. I programmed the LabVIEW in 1024x768 therefore the plots and animations fit perfect at that resolution. If someone connects to the server at a lower resolution (800x600) the front panel explodes, therefore, requiring scroll bars to see the entire plot/animation/controls. If someone connects to the server with a higher resolution (1280x1024) the panel shrinks showing borders and open space. This is one page of several. I have abandoned trying to write a program to adjust all the graphics, controls, and indicators to the user’s resolution. Now I am looking into forcing the user’s computer to adjust to the VI's preferred resolution (1024x768).

 

Riconquis, the link you provided is an excellent idea. The only problem with your recommendation is in the first step before running the resolution VI, registering the dll file. LabVIEW is installed on the server and has no control of the users PC that is remotely accessing the server, therefore, cannot force this run command to occur on his/her PC. I tried this and the VI returned an error and then kept running at the user’s resolution.

Download All
0 Kudos
Message 3 of 9
(3,928 Views)
Hi TheStig,

I may be oversimplifying the problem, but have you worked with the Window Size category of the VI Properties (Ctrl+I)? It allows the user to maintain proportions of the window for different monitor resolution and scale all objects on the front panel as the window itself is resized.

Let me know if I'm off-base here.

Michael K.

| Michael K | Project Manager | LabVIEW R&D | National Instruments |

0 Kudos
Message 4 of 9
(3,902 Views)
I have tried using these options but it produced no desirable change. In fact, I didn't notice any change at all.
0 Kudos
Message 5 of 9
(3,898 Views)

Hi TheStig,

For these properties to work, please follow the steps given below:

  1. Size the front panel to the width and height of entire screen.

  2. File » VI Properties » Windows size

  3. Check the “Maintain proportion of window for different monitor windows” option.

Please let me know if this does not work.  Best of luck on your application, and have a great day!!

Regards,
Ching P.
DAQ and Academic Hardware R&D
National Instruments
0 Kudos
Message 6 of 9
(3,878 Views)

I'm not sure if the "Maintain proportion of window for different monitor windows" option is working or not. This option was selected in the JPEG's above. I am sure it is not producing desirable reslults.

 

What I think needs to happen is the length and width of every control, graphic, or plot on my panel has to change with the resolution. For example, if the resolution is 800x600, use the ratio of 800/600 and apply that to the every thing on my front panel. Therefore a boolean button would be scaled using a function that includes the 800/600 ratio. I have not looked into this in depth. Another method would be to force anyone who accesses the animation to default to a specific resolution. This seems like the easiest case except for the issue with forcing a remote computer to change its resolution. There could also be a problem if the remote computer does not support the resolution.

 

Thanks for the help guys.

0 Kudos
Message 7 of 9
(3,860 Views)

I think this simple VI will do the trick. I have not tried this with controls or graphs on top of the image but I think this is a good start. Change your screen resolution, open and run the VI, change resolution again and run again. The image should resize for different resolutions. I had to manually center the image to start but once it was centered and saved it stayed centered through all resolutions. I was working on programming it to center too, but it may not be necessary once everything on the front panel is in its location. Suggestions are appreciated.

0 Kudos
Message 8 of 9
(3,828 Views)
I forgot to mention. This VI is set for a server so it will not show any controls once you run the VI. Use "Ctrl." to stop the VI from running. Dont forget the period after the Ctrl
0 Kudos
Message 9 of 9
(3,825 Views)