LabVIEWForum.de - Bedienelemente platzieren

LabVIEWForum.de

Normale Version: Bedienelemente platzieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,
ich habe ungefähr 15 Anzeigen/ Bedienelemente. Die Elemente möchte ich immer zentriert auf einen Monitor als Vollbild anzeigen.
Diese bringe ich problemlos mit einer Bildschirmauflösung von 640x480 unter. Aber es gibt ja noch andere Auflösungen.

Den einzigen Weg den ich kenne ist die Elemente über den Eigenschaftsknoten Position zu platzieren.
Also Bildschirm Auflösung ermitteln und dann für jedes Element die Position berechnen und platzieren.
Das geht, ist aber aufwendig und auch die Pflege danach.

Ich stelle mir das in etwa so vor. Anzeigen/ Bedienelemente mit der Hand wie immer platzieren.
Alle diese Positionen in einem File oder DB Abspeichern und beim Prg. Start dieses File oder DB verwenden um die Elemente mit der entsprechenden Bildschirm Auflösung zu platzieren.


Kennt jemand ein Tool/Bibliothek oder einen Weg wie man das einfach erledigen kann.

Gruß Hubert
Geht das evtl. mit rechtsklick aufs control und dann "scale object with pane"? Da werden doch die Bildschirminhalte einfache alle proportional vergrößert, wenn sich die "pane" verändert.
D.h. du könntest eine "pane" für das gesamte FP nutzen, und dieses bei Programmstart auf Maximized stellen, und die Bedienelemente werden angepasst.

Ich fürchte nur, das sieht dann alles nicht mehr so hübsch aus. Schriftarten und Ausrichtung von Labels etc. leiden da meist.

A.
Danke Achim,
für die schnelle Antwort.

Ja, es ist so wie du es schreibst. Danach sieht alles hässlich aus.

Gruß Hubert
Hallo,

dieses Toolkit ist nicht perfekt, aber zumindest ein guter Einstieg:
https://forums.ni.com/t5/Reference-Desig...anguage=en

Gruß, Jens
Danke Jens, für den Link.
Werde mich am Wochenende damit beschäftigen.
Verwendest du dieses Tool auch?

Gruß Hubert
Hallo Hubert,

ich habe das Toolkit bisher nur bei einem Projekt eingesetzt - dort wollte der Kunde unbedingt eine Umschaltung zwischen drei verschiedene Bildschirmauflösungen. Das hat damit ganz gut hingehauen. Bei der Platzierung von Array-Elementen habe ich ein wenig gekämpft und dafür die API etwas angepasst.

Gruß, Jens
Wenn du immer nur deinen 640x480 Block mittig platzieren möchtest, kannst du dieses Main-VI auch in einem Sub-Panel eines Anzeige-VI aufrufen und musst dann nur die Position des Sub-Panels anpassen - ist deutlich einfacher als alle Elemente zu positionieren.
Hallo Jens und th13,

sorry für die verspätete Antwort. Musste mich noch um etwas anderes kümmern.

Im Prinzip funktionieren beide Lösungsvorschläge. Mit dem Tool von Jens habe ich etwas gearbeitet aber ist aufwendig.
Der Vorschlag von th13 scheint ein pragmatischer Ansatz zu sein. Diesen habe ich vorgezogen.
Allerdings fehlt mir die Erfahrung ein Vi über die Referenz zu starten und mache das zum ersten Mal.
Ich möchte hierzu nochmal nachfragen ob das so OK ist (siehe Anhang).

Gruß Hubert
Ich hab leider kein LV2019, kann dir aber aus dem ExampleFinder (unter Help) das "Multiple VIs in a Subpanel.vi" ans Herz legen. Da kannst du nachschauen, wie man ein VI in einem Subpanel aufruft und auch ordentlich beendet.
Das ist auf jeden Fall eine von mehreren zulässigen Methoden. Ich verwende inzwischen gerne Static-VI Referenzen anstatt Pfaden, dann werden diese VIs nämlich bei der Exe-Erstellung automatisch hinzugelinkt und ich muss sie nicht manuell in die Liste von "zusätzlichen Dateien" aufnehmen - 1 Fehlerquelle weniger.

Du kannst das VI aber auch ganz normal starten, du benötigst lediglich die VI Referenz für das Einsetzen in das Subpanel, und diese VI Refnum muss nicht durch "Open VI Refnum" erzeugt werden.

Etwas sollte man bei dynamisch gestarteten VIs nie außer Acht lassen (ich bin da im letzten Jahr auch wieder mal drauf reingefallen): Jegliche Referenzen (DAQmx, VISA, Queue-Refnums, ....), die man in einem dynamisch gestarteten VI anlegt, werden bei Beendigung dieses VIs zerstört. Also nicht wundern, wenn ein DAQmx-Task, der in einem dynamisch gestarteten VI erstellt wurde, dann plötzlich nicht mehr funktioniert.

Gruß, Jens
Seiten: 1 2
Referenz-URLs