LabVIEWForum.de - Gestaltungselemente während der Laufzeit verändern

LabVIEWForum.de

Normale Version: Gestaltungselemente während der Laufzeit verändern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,
ich würde meine Oberfläche gerne anhand der Desktop-Breite/-Höhe anpassen je nach Einstellung/Auflösung.
Jetzt müsste ich aber auch Gestaltungselemente anpassen. Leider finde ich nicht, wie man auf diese während
der Laufzeit zugreifen kann.

Weiß jemand von Euch wie ich das machen kann?

Ich arbeite mit LabVIEW 8.5.1 deutsch.


Vielen Dank.


Gruß,
Stefan
Ein gutgemeinter Rat: Spar dir das!
Da hast du dir eine Aufgabe gestellt, die wirklich schwer zu lösen ist und die viele Programmierer am liebsten NICHT angehen.

Erste und einfachste Möglichkeit: Du öffnest mal die VI-Eigenschaften und setzt auf der Seite Window Size einen entsprechenden Haken. Nachteil: Es könnte sein, dass dir dein mühsam gestaltetes FP nach einigen Vergrößerungen und Verkleinerungen nicht mehr so toll vorkommt. Denn diese Automatik ist (noch?) nicht das Gelbe vom Ei.
Diese Eigenschaft, dass ein Objekt sich an die Größe des FP anpasst, kannst du auch jedem FP-Element zuweisen, such einfach mal im Kontextmenü.
Das geht auch zur Laufzeit.

Zweite komplizierte Möglichkeit: Du entwirfst FP für die Monitorauflösungen, die dir wichtig sind und setzt dann, je nach Monitorauflösung, alle Positionen und Größen per PropertyNodes. (Alle FP-Controls haben die PropertyNode Position, die man zur Laufzeit setzen kann. Und bei fast allen Controls gibt es Eigenschaften, um die Größe zu setzen.)

Gruß, Jens
Die gestaltungselemente am FP erhaelst du mittels folgender struktur:


Property Node: VI - Front Panel - Decorations [] ---> Size, Colors, Position and visibility



Ich rate dir eine klasse zu generieren, ansonsten wirst du bei deinem vorhaben xfach das gleiche nachprogrammieren und kopfschmerzen bekommen. vorteil von klassen an der stelle ist die rekursivitaet.
dynamic class VIs kannst du ohne VI server call ineinander verschachteln und ich nehme schwer an, dass du das benoetigen wirst um auch fuer die zukunft die funktionalitaet in anderen projects verwenden zu koennen.
Vielen Dank für die vielen Antworten.
Habe es jetzt wie freedive gemacht. Allerdings habe ich festgestellt, daß ich bei Bedienelementen die Größe (Breite, Höhe) nur lesen aber nicht schreiben kann. Gibt es eine Möglichkeit dennoch die Größe zu schreiben?

Danke.
' schrieb:Vielen Dank für die vielen Antworten.
Habe es jetzt wie freedive gemacht. Allerdings habe ich festgestellt, daß ich bei Bedienelementen die Größe (Breite, Höhe) nur lesen aber nicht schreiben kann. Gibt es eine Möglichkeit dennoch die Größe zu schreiben?

Danke.
Nicht die PropertyNode Bounds verwenden (steht auch in der Onlinehilfe, dass die nicht gesetzt werden darf), sondern 3 weiter unten "Size".

Gruß, Jens
Referenz-URLs