Verschieben von Dialogen
Wenn eine von Ihnen programmierte Bedienoberfläche Dialoge enthält, können diese zur Laufzeit im Hintergrundbereich angefasst und verschoben werden. Der Visualisierungsbenutzer verschiebt mit der Maus oder einem alternativen Zeigergerät den Dialog an eine beliebige Position. So werden Bereiche, die beim initialen Öffnen verdeckt waren, nun sichtbar. Das kann nützlich sein, wenn beispielsweise ein sich öffnender Dialog Informationen der Oberfläche verdeckt. Das System merkt sich die neue Position für das nächste Öffnen.
Beim Verschieben fasst der Visualisierungsbenutzer üblicherweise einen Dialog mit der Maus in der Titelleiste an. Bei Standarddialogen ist deshalb die Titelleiste als dessen Zeigerbereich konfiguriert.
In Ihren eigenen Dialogen ist der Hintergrundbereich dafür konfiguriert. Sie können aber zusätzlich beliebige andere oder weitere Zeigerbereiche programmieren. Grenzen Sie dafür Bereiche mit dem Element Unsichtbare Eingabe ein und aktivieren Sie dessen Eigenschaft Als Zeigerbereich verwendet. Das Element darf keine Eingabekonfiguration haben. Das ist dann hilfreich, wenn der Hintergrundbereich des Dialogs eher klein und daher schwer zu fassen ist, oder wenn der Titelbereich nicht zum Hintergrundbereich gehört.
Im Visualisierungsmanager ist die Eigenschaft Client-Animation und Überlagerung systemeigener Elemente unterstützen aktiviert
Hinweis: Das Verschieben von Dialogen ist nur möglich, wenn das Überlagerungs-Feature aktiviert ist. Das wird allerdings in der integrierten Visualisierung nicht unterstützt. Folglich ist mit dieser Variante das Verschieben von Dialogfeldern nicht darstellbar.
Neben der Hauptvisualisierung ist eine Visualisierung vom Typ Dialog Teil der Bedienoberfläche
Die Visualisierung wird zur Laufzeit in einer der Varianten WebVisu oder TargetVisu dargestellt
Hinweis: In der integrierten Visualisieurng ist das Verschieben von Dialogen nicht möglich.
Eingabebereich in eigenem Dialog programmieren
Das in der Standardinstallation mit ausgelieferte Beispielprojekt C:\Program Files\CODESYS 3.5.17.0\CODESYS\Projects\Visu\ExamplesVisuDemoOverlay
enthält eine umfangreiche Bedienoberfläche. Dort finden Sie den Dialog Dlg_Desktop_ControlsDetails
. Die folgenden Schritte zeigen Ihnen, wie Sie diesen Dialog so programmieren, dass Sie Ihn als Visualisierungsbenutzer anschließend in der Titelleiste anfassen und dann verschieben können.
Öffnen und extrahieren Sie das Beispielprojekt und aktualisieren Sie das Gerät.
Öffnen Sie den Dialog Projektumgebung und setzen Sie in der Registerkarte Visualisierungsprofil das Profil auf CODESYS Visualization 4.1.0.0.
Ab der Version 4.1.0.0 ist es möglich verschiebbare Dialog zu verwenden.
Doppelklicken Sie in der Ansicht Geräte auf das Objekt Visualisierungsmanager
In der Registerkarte Einstellungen ist die Option Client-Animation und Überlagerung systemeigener Elemente unterstützen und damit die Overlay-Funktionalität aktiviert.
Öffnen Sie den Dialog
Dlg_Desktop_ControlsDetails
im Visualisierungseditor.Suchen Sie in der Ansicht Visualisierungswerkzeuge das Element Unsichtbare Eingabe und ziehen Sie es in den Editor.
Ziehen Sie die Grenzen des Elements über die Titelleiste. Verdecken Sie nicht das Schließen-Menü.
Selektieren Sie in der Elementliste das neue Element und wechseln Sie dann in die Ansicht Eigenschaften.
Tipp: Achten Sie darauf, dass in der Ansicht alle Eigenschaften angezeigt werden. Aktivieren sie gegebenenfalls die Option Erweitert.
Aktivieren Sie die Eigenschaft Verwendet als Zeigerbereich des selektierten Elements.
Der Dialog hat nun einen eigenen Zeigerbereich und kann dort zum Verschieben angefasst werden.
Übersetzen Sie die Applikation und starten Sie die Applikation als WebVisu (
http://localhost:8080/webvisu.htm
).Die Applikation läuft. Im Dashboard unter
Control
können Sie auf das Ausrufezeichen klicken, dann öffnet sich der DialogControl Details
. Sie können nun den Dialog in seinem Zeigerbereich fassen und verschieben.