WinCC Unified Popup aus Bildfenster heraus positionieren

Staubsauger

Level-2
Beiträge
85
Reaktionspunkte
21
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich öffne beim Drücke auf einen Button ein Faceplate als fest positioniertes Popup.
Die Position des PopUps wird relativ zum linken oberen Eck des Buttons ermittelt. Die Position des Buttons ermittle ich im selben Script, welches mir auch das Popup öffnet. Dazu nutze ich item.Top bzw. item.left.

Javascript:
// Bildschirm sperren
let varScreenLock = Tags("screenLocked");
varScreenLock.Write(true);

// Popup öffnen
let properties  = {screenLocked:{Tag:"screenLocked"}, anzeigeModus:{Tag:"anzeigeModus"}};

HMIRuntime.Trace("\n Pos_x: " + item.Left + "\n Pos_y: " + item.Top);



let popup = Faceplate.OpenFaceplateInPopup("Analoganzeige_Auswahlmenu_V_0_0_17", "unused_Title", properties );
popup.Left = item.Left -5;
popup.Top = item.Top + 50;
popup.Visible = true;
popup.WindowFlags=132; // 132 = 10000100 -> Einstellung, dass Popup fest und ohne Kopfleiste

Das ganze funktioniert auch sehr gut, wenn ich das innerhalb einer Hauptseite mache.
Jetzt habe ich den Button aber innerhalb eines Bildfensters:

Hauptseite -> Bildfenster -> Button

Problem ist, dass ich mit item.Top bzw. item.left die Position innerhalb des Bildfensters bestimme, bekomme ich die Position innerhalb des Bildfensters (0, 70).
Das Popup wird dann allerdings in Koordinaten des Hauptbildfensters geöffnet und ist entsprechend viel weiter links.


Kann mir hier jemand weiter helfen?
Ich habe versucht mit item.Parent.Top and die Koordinaten zu kommen. Da bekomme ich allerdings einen Error.
 
Zurück
Oben