Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
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.
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.
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
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
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
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.
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).
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
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!