LabVIEWForum.de - Front Panel verschoben

LabVIEWForum.de

Normale Version: Front Panel verschoben
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

seit einer Weile arbeite ich nun schon mit LV, aber bisher kannte ich immer das Zielsystem, auf dem das jeweilige vi laufen sollte. Nun habe ich für einen Kollegen ein VI "auf Stand" gebracht. Z.B. ein aktualisiertes Firmen-Logo eingefügt, das Frontpanel neu arrangiert, das Blockdiagramm sauber neu programmiert (bisheriger Zustandsabfrage-Wirwarr durch eine state machine ersetzt, etc) und anschließend das Vi durch den Application builder geschoben. Mein LV Entwicklungssystem: LV 2011, Monitor in der Auflösung 1920 * 1200
Doch als der besagte Kollege, der damit im Labor auf einem Laptop Messungen machen möchte, die executable aufruft, sieht er ein vollkommen verschobenes Frontpanel. Buttons, Leds (boolean indicators), das Logo und manche Labels sind an anderen Positionen.
Und tatsächlich, wenn ich meinen Entwicklungsrechner (der ebenfalls ein Laptop ist) aus der dockingstation ziehe, das Display öffne und das vi neu aufrufe, ist alles verschoben. Speichere ich das und öffne das gleich vi vom gleichen Laptop in der Dockingstation, ist erneut alles verschoben.
Wie kann ich erreichen, dass ein VI bzw. ein Frontpanel auf jedem Zielsystem in jeder Auflösung gleich aussieht ?
Kann ich alle Elemente irgendwie fest an ihrer Position verankern ?

Unter VI Properties | Windows Size gibt es die Option "Scale all objects on front panel as the windows resizese". Diese Option ist deaktiviert.
Und das VI hat auch keine VI Referenzen, oder andere Spielereien. Sondern es ist relativ simpel gestaltet.

Beste Grüße, Dennis
Hallo Dennis,

hast du das Häkchen auch mal gesetzt? Das könnte dein Problem schon beheben.

MfG Carsten
Hallo Dennis,

(26.01.2012 09:32 )C4H10 schrieb: [ -> ]Monitor in der Auflösung 1920 * 1200
Doch als der besagte Kollege, der damit im Labor auf einem Laptop Messungen machen möchte, die executable aufruft, sieht er ein vollkommen verschobenes Frontpanel. Buttons, Leds (boolean indicators), das Logo und manche Labels sind an anderen Positionen

Gegenfrage: Was hättest du denn erwartet, wenn du die Elemente des FPs ausrichtest bei der Auflösung 1900*1200, und die *.exe dann bei einer Auflösung von 1024*768 startest?

(26.01.2012 09:32 )C4H10 schrieb: [ -> ]Wie kann ich erreichen, dass ein VI bzw. ein Frontpanel auf jedem Zielsystem in jeder Auflösung gleich aussieht ?

Das kann, jenachdem wie das UI gestaltet ist, in der Tat aufwendig werden. Das wir dann schon mal zur Herausforderung das ganz nachträglich für den Bereich 800*600 bis HD zu optimieren.

Grundsätzlich gibt es dazu mehrere Lösungsansätze (Manche besser, manche schlechter):

1) Elemente für die kleinstmögliche Auflösung festzurren (z.B. 800*600). Bei der Darstellung auf größeren Bildschirmen ist der restliche Bereich dann leer.
2) Elemente automatisch skalieren lassen (Wie schon angesprochen - Scale all objects on front panel as the windows resizese"). Nebeneffekte wie Unlesbarkeit der Elemente bei kleinen Auflösungen sind dann aber unvermeidlich.
3) Neueinteilung des UI: Splitterbars einfügen. Tabs verwenden. Automatische Skalierung immer nur auf ein Element pro Panel anwenden. Subpanels verwenden. (Es gibt meherer Möglichkeiten)
4) Elemente fest anordnen und bei Verkleinerung des Fensters Scrollbars einblenden lassen (geht alles in den VI Einstellungen - Window Size und Runtime Time Posititon - einfach mal n bisschen rumspielen)

Möglich bzw. Sinnvoll ist wohl ein Mix des Ganzen.

(26.01.2012 09:32 )C4H10 schrieb: [ -> ]Kann ich alle Elemente irgendwie fest an ihrer Position verankern ?

Damit die Elemente fest an ihrer Position bleiben, dürfen sich nicht scaliert werden. Außerdem in den VI Einstellungen bei den Fenstergrößen mal nen festen Wert einstellen. Einfach ein bisschen ausprobieren, damit du siehst, welche Einstellung welches Ergebnis liefert. Eine 'Pauschallösung' im Sinne 'Setze einfach ein Häckchen dort und alles ist in Butter' wird es hier mMn nicht geben.

Beste Grüße,
NWO
Hallo NWO,

vielen Dank für die Tipps. Ich glaube ich habe nun die ultimative Lösung gefunden, wie man Objekte auf dem Frontpanel fest verankern kann !
Nachdem man die Änderungen vorgenommen hat, einfach alles markieren (Strg+a) und dann oben in dem Pull-down menue, bei dem man u.a. die Reihenfolge der Objekte festlegt, "Lock" auswählen. Danach haben andere Auflösungen offensichtlich keinen Einfluss mehr auf die Anordnung der Frontpanel-Elemente. Nachteil: Man muss vor jeder weiteren Bearbeitung erneut alles auswählen und "Unlock" wählen.
Des weiteren habe ich folgende Einstellungen in den VI Properties vorgenommen, die wahrscheinlich für das beschriebene Verhalten relevant sind:
- Window Size, Minimum: 1024*768
- Mantain proportions of windows for different monitor resolutions: NOT CHECKED
- Scale all objects on front panel as the window resizes: CHECKED
- Window run time position: Maximized, Monitor: Primary

Was mir noch nicht ganz gefällt: Ich habe das Window auf maximum gesetzt, damit es nach dem Aufruf nicht irgendwo undefiniert auf dem Desktop rumliegt. Jedoch passiert es manchmal (nicht immer) dass der Scroll Balken nach dem Starten in der Mitte des Frontpanels eingestellt ist. Wie ich die Cursorposition des Scrollbalkens beeinflusse, muss ich noch herausfinden. Hat aber jetzt nicht so die Priorität.

Beste Grüße,

Dennis
(26.01.2012 15:43 )C4H10 schrieb: [ -> ]Wie ich die Cursorposition des Scrollbalkens beeinflusse, muss ich noch herausfinden. Hat aber jetzt nicht so die Priorität.

Hallo,

dies geht programmatisch über folgenden PropertyNode:

Origin Property
http://zone.ni.com/reference/en-XX/help/...ne_origin/

Beste Grüße,
NWO
Referenz-URLs