LabVIEWForum.de - XY Graph in Tab Control

LabVIEWForum.de

Normale Version: XY Graph in Tab Control
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen.

Ich ärgere mich gerade mit einem TabControl herum. Gegeben sind zwei Tabs. In jedem befindet sich ein separater XY Graph. Das VI, oder vielmehr das Frontpanel, indem sich das Tab Control befindet, kann in der Größe durch den Anwender angepasst werden. Dadurch muss die Größe des Graphen automatisch mit angepasst werden. Wenn ich den Graph nun in einem Tab platzieren und per Rechtsklick "Fit to Pane" auswähle, skaliert dieser wunderbar...allerdings reißt es dann auch das Tabcontrol auseinander, sodass die Tabs außerhalb des sichtbaren Bereichs liegen und somit unbedienbar werden.
Gibt es eine einfache Möglichkeit, den Graphen auf die Fläche des Tab Controls zu skalieren?

Gedanklich spiele ich damit, mir die Größe des FP zu merken, die Größenänderung damit zu verrechnen und das Delta auf den Graphen anzuwenden. Wenn es simpler/schneller geht, bin ich offen für Vorschläge.

Gruß
NoWay
Hallo NoWay,

Zitat:Wenn ich den Graph nun in einem Tab platzieren und per Rechtsklick "Fit to Pane" auswähle, skaliert dieser wunderbar...allerdings reißt es dann auch das Tabcontrol auseinander, sodass die Tabs außerhalb des sichtbaren Bereichs liegen und somit unbedienbar werden. Gibt es eine einfache Möglichkeit, den Graphen auf die Fläche des Tab Controls zu skalieren?
Ja, die gibt es.
Die Lösung liegt im Namen der von dir gewählten Option "Fit to Pane"!

Unterteile dein FP in mehrere Panes, eines davon für dein Tab-Control - so kannst du die Größe des Tab-Controls im Verhältnis zum gesamten FP festlegen! Also einfach mal mit SplitterBars rumspielen…
Das habe ich bereits. Das Tab Control passt sich auch wunderbar an, nicht aber der Graph innerhalb des Controls. Da liegt ja der Hase im Pfeffer.
Ich habe gerade mal in einem nackten VI etwas rumprobiert und eine Lösung erarbeitet, die so gerade noch durchgeht. Die Performance ist augenscheinlich nicht so der Hit, weil die Property Nodes im Millisekundentakt ausgelesen und geschrieben werden.

Um mein eigentliches Problem zu verdeutlichen: Das skalieren des TabControls ansich klappt. Der Inhalt skaliert aber nicht mit, es sei denn ich gehe den im Anhang befindlichen Weg.
[attachment=60863]
(15.04.2020 12:41 )NoWay schrieb: [ -> ]Wenn ich den Graph nun in einem Tab platzieren und per Rechtsklick "Fit to Pane" auswähle, skaliert dieser wunderbar...allerdings reißt es dann auch das Tabcontrol auseinander, sodass die Tabs außerhalb des sichtbaren Bereichs liegen und somit unbedienbar werden.

Was erwartest du anderes? Wenn sich der Graph an der Größe des Panes orientieren soll (per Fit to Pane) und innerhalb eines Tab-Controls liegt, dann wächst bei Größenänderung natürlich das Tabcontrol...

(15.04.2020 12:41 )NoWay schrieb: [ -> ]Gibt es eine einfache Möglichkeit, den Graphen auf die Fläche des Tab Controls zu skalieren?

"Fit to Pane" kann man sinnvoll nur mit 1 Control innerhalb einer Pane anwenden. In deinem Fall heißt das: Tab-Control auf "Fit to Pane" setzen, "Auto Grow" bei Tab-Control ausschalten und den Graph manuell nachziehen. Größenänderungen bekommst du wunderbar per Event-Struktur mit:

[attachment=60864]

Gruß, Jens

EDIT: Zu langsam, genau das machst du ja....
(15.04.2020 13:14 )jg schrieb: [ -> ]Was erwartest du anderes? Wenn sich der Graph an der Größe des Panes orientieren soll (per Fit to Pane) und innerhalb eines Tab-Controls liegt, dann wächst bei Größenänderung natürlich das Tabcontrol...

Aus reiner Naivität war die Erwartungshaltung ursprünglich ein dominantes Verhalten des Tab Controls, welches dem Graph die Grenzen vorgibt Blush
(15.04.2020 13:21 )NoWay schrieb: [ -> ]
(15.04.2020 13:14 )jg schrieb: [ -> ]Was erwartest du anderes? Wenn sich der Graph an der Größe des Panes orientieren soll (per Fit to Pane) und innerhalb eines Tab-Controls liegt, dann wächst bei Größenänderung natürlich das Tabcontrol...

Aus reiner Naivität war die Erwartungshaltung ursprünglich ein dominantes Verhalten des Tab Controls, welches dem Graph die Grenzen vorgibt Blush

Dem ist (leider) nicht so. Performance Probleme habe ich übrigens gar keine, allerdings reduziere ich aus jahrelanger Gewohnheiten die optischen Spielereien von Windows auf ein Minimum:
[attachment=60865]
Gruß, Jens
(15.04.2020 13:21 )NoWay schrieb: [ -> ]Aus reiner Naivität war die Erwartungshaltung ursprünglich ein dominantes Verhalten des Tab Controls, welches dem Graph die Grenzen vorgibt :blush
Jeder normale Mensch hat diese Erwartungshaltung ...

(15.04.2020 12:41 )NoWay schrieb: [ -> ]Ich ärgere mich gerade mit einem TabControl herum ...
Willkommen im Club! Warte nur, bis du den Inhalt des Graphen von Registerkarte 1 auf der Registerkarte 2 siehst ...
(15.04.2020 14:48 )IchSelbst schrieb: [ -> ]Willkommen im Club! Warte nur, bis du den Inhalt des Graphen von Registerkarte 1 auf der Registerkarte 2 siehst ...

Na ich hoffe doch, dass ich das nicht sehen muss.
Im übrigen nutze ich auf Tab 1 einen XY Graphen und auf Tab zwei eine Digital Waveform. Da will ich doch schwer hoffen, dass die sich nicht in die Quere kommen Denknach
Wenn ich richtig gelsen habe, hat Dir noch niemand die supereinfache Lösung präsentiert:
1. die Graphen wie gewünscht händisch in den Tabs platzieren
2. Rechte Maustaste auf Ikon rechts oben im Frontpanel.
Häkchen setzen bei Windows Size / Scale all Objects on front panel as so windows resizes
Das funktioniert bei Graphen und Tab Controls, also bei Dir, wunderbar. Bei anderen Controls geht es weniger gut, z.B. weil die Schriften sich nicht richtig proportional mit anpassen. Es kommt auch zu unerklärlichen irreversiblen Verschiebungen der Objekte. Vorsicht ist auch angebracht, wenn unter Windows bei Anzeigeeigenschaften ein Skalierungsfaktor größer als 100% eingestellt wurde.
Also was ich sagen wollte: Die Skalierung ist in LV unausgereft, fast das Einzige was nach meiner Erfahrung perfekt funktioniert sind TabControls mit dairn enthaltenen Graphen.
Als Lateraleffekt wierden sich auch der STOP-Botton, und gegebenenfalls weitere Bedienelemente, in der Größe mit ändern. Um das zu vermeiden, sollte das TabControl - wie hier schon vorgeschlagen - eine eigene Pane bekommen.
Ich würde es so machen.
Gruß
Freddy
Seiten: 1 2
Referenz-URLs