LabVIEWForum.de
Positionierung von Bedienelementen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Grafik & Sound (/Forum-Grafik-Sound)
+---- Thema: Positionierung von Bedienelementen (/Thread-Positionierung-von-Bedienelementen)



Positionierung von Bedienelementen - Schü - 29.09.2010 11:06

Hallo alle miteinander,

ich bin dabei mir ein Programm zu schreiben, bei dem man per Knopfdruck die Anzeigeelemente an unterschiedliche Positionen verschieben kann. Das ist soweit auch geglückt. Allerdings habe ich bei den VI-Einstellungen unter "Fenstergröße" eine feste Minimal-Größe eingestellt, sowie beide Häckchen (für die Fensterproportionen und die Neuskalierung) gesetzt.
Für die Verschiebung habe ich die Eigenschaftsknoten verwendet und jeweils eine Konstante für "links" und "oben" erstellt, wodurch das Anzeigeelement an die jeweilige Position geschoben wird.

Ziehe ich mein Fenster größer, so verändern sich ja alle Elemente durch die Neuskalierung. Nur stimmen jetzt die gesetzen Positionen nicht mehr überein und das Frontpanele wird zerstört.

Jetzt ist die Frage für mich, wie kann ich eine variable Positionsänderung vornehmen, so dass alle Proportionen erhalten werden - der Abstand von einem Anzeigeelement zum Rand der rechten Registerkarte - wenn man sich das Frontpanel größer zieht oder verkleinert.

Erste Idee war über den Eigenschaftsknoten für das Frontpanel die Maße zu erhalten und dann die jeweilige Position zu berechnen. Da es ja aber mit festen Werten nicht klappen kann, bin ich überfragt wie ich weitermachen soll.

Anbei hab ich mal das Program hochgeladen, in der Grundeinstellung funktioniert alles so wie es soll, nur nicht mehr sobald das Fenster verändert wird

Hoffe es ist alles verständlich und vielen Dank schon mal im Vorraus,
LG Schü

Lv86_img


Positionierung von Bedienelementen - Achim - 29.09.2010 11:11

Hi,
das ist in der Tat ein Problem...und weil die meisten, die hier posten, für das wahre Leben, d.h. irgendwelche Kunden programmieren, bei denen solche "Spielereien" ganz weit hinten auf der Agenda der Dinge stehen für die sie Geld bezahlen wollen, stellen die meisten für ihre (Kunden-) Oberflächen eine feste Auflösung ein und...ENDE!

Es werden dir nur die wenigsten konkrete Ratschläge geben können, wie du das elegant lösen kannst! Eventuell rolfk. Da stecken bei Programmen wie z.B. Word Mannjahre Entwicklungs- und Testzeit dahinter, weil es für eine riesigen Markt gedacht ist, und die Kosten sich so wieder reinholen lassen bzw. dadurch auch relativieren. Diese Vorraussetzungen sind für die allermeisten LabVIEW-Anwendungen einfach nicht gegeben...

Trotzdem viel Erfolg!
Gruß
Achim

PS: Zu dieser Thematik gabs hier im LVF schon diverse Anfragen...ich würde sagen, die meisten haben aufgegeben!


Positionierung von Bedienelementen - Lucki - 29.09.2010 14:25

' schrieb:das ist in der Tat ein Problem...und weil die meisten, die hier posten, für das wahre Leben, d.h. irgendwelche Kunden programmieren, bei denen solche "Spielereien" ganz weit hinten auf der Agenda der Dinge stehen für die sie Geld bezahlen wollen, stellen die meisten für ihre (Kunden-) Oberflächen eine feste Auflösung ein und...ENDE!
Achim
Wenn das Programm nicht gerade auf einem Mini-Laptop laufen soll, dann ist die Mindestauflöung von 1280*1024 bei Monitoren ja Standard, und die evtl. Entsorgung/Ersatz eines alten Röhrenmomitors von geringerer Auflösung ist allemal billiger als ein Programm für unterschiedliche Auflösungen.
Die Anschaffung des für das Programm optimalen Monitors, beispielsweise für einen Teststand, ist allemal besser als die Programmierung für unterschiedliche Auflösungen.
PS: Zwar hatte ich den Knopf nur versehentlich gedrückt, aber verdient hast Du den Dank allemal, schon allein für Deine "Lebensleistung im Forum".


Positionierung von Bedienelementen - Schü - 30.09.2010 06:26

Ah danke für die Antworten erstmal. Aber so schnell geb ich mich noch nicht geschlagen, ich werd es ersteinmal so belassen und nebenbei ein wenig weiter probieren. Bestimmt werd ich eine akzeptable Lösung (wenn sicher auch mit Abstrichen) finden.
Sollte euch aber noch eine Idee einfallen, dann bin ich immer offen dafür.

LG Schü


Positionierung von Bedienelementen - Schü - 30.09.2010 07:04

Ich habe gerade mal was versucht. Hab mir die Fenstergröße über einen Eigenschaftsknoten ausgelesen und mit einem festen Wert multipliziert. Vorher hab ich mich hingesetzt und an meinem 1. Beispielprogramm die Prozente von Position zu Fenstergröße (also links/Fensterbreite und oben/Fensterhöhe) ausgerechnet. Das ist halt ein bisschen Schreibarbeit, vor allem wenn man mehr als nur die 3 Elemente verschieben möchte.
Einziges Manko: Wenn das Programm das erste mal gestartet wird und man Position B auswählt, passen meine Werte noch nicht ganz und die Elemente verschieben sich etwas zu weit nach rechts (passiert aber nur beim 1. Auswählen und die Höhe stimmt soweit). Für Position A passt alles. Auch wenn man das Fenster vergrößert und verkleinert, erhalten sich die Proportionen.
Schaut es euch einfach mal an.

LG Schü

P.S: Ich seh aber auch, dass der Aufwand, soetwas für viele Elemente umzusetzen, wohl mit dem "Geld des Kundens" im Konflikt liegt.

Edit: Wenn man die Fenstergröße ändert und die gleiche Position nochmals auswählt, verschieben sich die Elemente ein wenig. Aber das muss doch so sein, da dann für die eingestellte Größe die Proportionene wieder hergestellt werden, oder denke ich jetzt schief? Und das oben angesprochene Manko habe ich damit gelöst, die Anzeigeelemente zu verkleinern ... ist jetzt nicht die optimale Lösung.

Lv86_img