Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 23

Thema: Ereignis bei 'mouseover' WinCC v7.2

  1. #1
    Registriert seit
    13.05.2013
    Beiträge
    81
    Danke
    29
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    mein Problem ist Folgendes; ich habe mehrere Polygone, und wenn ich über eines mit der Maus fahre, dann ändert sich ja der Mauszeiger, da ich ein Ereignis, bei Mausklick angelegt habe, und auch die Fläche ändert sich (so als würde die Beleuchtung in dem Polygon eingeschaltet werden) also gibt es ja anscheinend eine Funktion, die es erkennt, wenn ich darüber fahre. Jetzt möchte ich aber selbst ein Ereignis erstellen, wenn ich mit dem Mauszeiger über ein Polygon fahre (z.B. sollte sich dann der Rahmen ändern).
    Hat jemand das vielleicht schon hinbekommen? Bzw. eine Idee wie so etwas funktionieren könnte?

    Vielen Dank im Voraus,
    mfG
    Zitieren Zitieren Ereignis bei 'mouseover' WinCC v7.2  

  2. #2
    Registriert seit
    09.08.2006
    Beiträge
    3.626
    Danke
    911
    Erhielt 656 Danke für 542 Beiträge

    Standard

    durch Mouseover ein Script oder so auszulösen geht nicht. in den projekteinstellungen kannst Du aber z.b. dieses "Glühen" aktivieren, dann könntest Du bei allen Objekten einen Rahmen anzeigen. Da gibts hier schon zwei andere Threads...

  3. #3
    Jennsy ist offline Benutzer
    Themenstarter
    Registriert seit
    13.05.2013
    Beiträge
    81
    Danke
    29
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hallo ducati,

    Danke für die Antwort. Das "Glühen" habe ich aktiviert, jedoch ist das nicht wirklich das, auf was ich hinauswollte...deshalb haben mir diese Threads auch nicht weitergeholfen.
    Es besteht jedoch die Möglichkeit so etwas zu realisieren, indem man die Mausposition abfragt:
    https://www.automation.siemens.com/W...54&Language=de
    Was natürlich, wie auch in diesem Thread beschrieben, durch die hohen aktualisierungszyklen, die performance beeinflusst. Aber ansonsten scheint es hier nicht wirklich etwas sinnvolles zu geben.

    mfG

  4. #4
    Registriert seit
    22.11.2012
    Beiträge
    111
    Danke
    15
    Erhielt 19 Danke für 18 Beiträge

    Standard

    Hallo zusammen,

    ich greife dieses Thema hier nochmals auf.
    Ich suche nach einer ähnlichen Lösung: (Ich nutze WinCC v7.2)

    Ich möchte in Runtime auf ein Objekt klicken (z.B. ein Bild.jpg) und dieses per "Drag&Drop" verschieben, neu positionieren können.

    Nun bin ich schon soweit, dass ich mittels VBS beim Drücken in Runtime (nehmen wir mal die linke Maustaste an) auf das Objekt die aktuelle Mausposition auslese. Theoretisch kann ich also auch beim Loslassen des Objekts die Curserposition auslesen. Somit habe ich zwei Werte die ich nur subtrahieren brauche und um diesen Wert verschiebe ich dann die X- bzw. Y-Position des Objekts.
    Das würde jedoch bedeuten, dass man das Objekt nicht "sehen" kann während man es verschiebt (bzw. wohin). Also sehen tut man es schon, aber keine "Echtzeit" Verschiebung - sprich die Position ändert sich schlagartig beim Loslassen der Maustaste. Ich hoffe ihr wisst wie ich das meine.

    Man müsste daher die Mausposition (X,Y) permanent auslesen um sie die X-Y-Positionen des Objekts mit der Bewegung des Cursors zu ändern. Doch da stehe ich gerade.

    Eine hohe Zyklusrate ist in diesem Fall nicht so wichtig. Ein paar Mal pro Sekunde ist völlig ausreichend. Das ganze muss auch nur ausgeführt werden, solange die linke Maustaste auf dem Objekt gedrückt bleibt.

    Vielen Dank im Voraus,
    mfG

  5. #5
    Registriert seit
    25.02.2010
    Beiträge
    618
    Danke
    35
    Erhielt 121 Danke für 110 Beiträge

    Standard

    Hallo michstein
    - im Bild ein Imagecontrol platzieren Eigenschaft unsichtbar
    - bein Mousedown das Bild in das Imigacontrol laden (entweder Bild als Datei laden oder über das Clipboard kopieren) und Eigenschaft auf sichtbar setzen und Grösse anpassen
    - beim Verschieben der Mouse das Imagecontrol an der Mousepositionn neu positionieren. so ensteht ein schieben des Bildes und das Original bleibt an der Ausgangsposition
    - Beim Mouseup das Bild neu plazieren und das Imagecontrol wieder auf unsichtbar setzen.
    Ist ein relativ grosser Aufwand und die Systemperformence leidet stark darunter.
    Solltest du dir genau überlegen ob der Aufwand lohnt.
    Grüsse Holger

  6. Folgender Benutzer sagt Danke zu holgermaik für den nützlichen Beitrag:

    mystone (15.01.2014)

  7. #6
    Registriert seit
    22.11.2012
    Beiträge
    111
    Danke
    15
    Erhielt 19 Danke für 18 Beiträge

    Standard

    Hallo Holger,

    Danke für deine Antwort.

    Das Bild muss beim Verschieben nicht am Originalplatz bleiben. Es soll immer am Mauscursor ausgerichtet sein.
    So z.B. als wenn du ein Fenster in Windows auf der Desktopoberfläche herumschiebst.

    Du schreibst:
    beim Verschieben der Mouse das Imagecontrol an der Mousepositionn neu positionieren. so ensteht ein schieben des Bildes
    Das scheint mir richtig zu sein, jedoch weiß ich nicht wie es möglich ist, die Mausposition permanent auszulesen.
    Oder besser gesagt nur dann auszulesen wenn auf eines der Objekte "gedrückt" wird und beim "Loslassen" braucht die Cursorposition nicht mehr abgefragt werden.
    Das Objekt soll sich dann während des "gedrückt haltens" der Maustaste mit dem Cursor mitbewegen.

    Bis jetzt habe ich es nur geschafft die Cursorposition beim "Drücken" und "Loslassen" der Maustaste abzufragen.
    Also das Bild kann ich schon verschieben, aber erst wenn die Maustaste wieder "losgelassen" wird.

    Hintergrund des ganzen: Für eine Serienanlage mit verschiedenen Anlagen-Übersichtsbildern sollen Objekte anhängig vom Hintergrundbild neu ausgerichtet werden können. Das in Runtime und ohne Programmierer.

  8. #7
    Registriert seit
    25.02.2010
    Beiträge
    618
    Danke
    35
    Erhielt 121 Danke für 110 Beiträge

    Standard

    Folge mal dem Link aus Post #3. dort wird die Sache mit den Mouspositionen beschrieben.
    Grüsse Holger

  9. #8
    Registriert seit
    22.11.2012
    Beiträge
    111
    Danke
    15
    Erhielt 19 Danke für 18 Beiträge

    Standard

    Ja schon, aber da wird die Mausposition ja auch nur einmal abgefragt, oder?
    Denn die C-Aktion wird ja auch nur einmal ausgeführt, denke ich.

  10. #9
    Registriert seit
    25.02.2010
    Beiträge
    618
    Danke
    35
    Erhielt 121 Danke für 110 Beiträge

    Standard

    Die Abfrage erfolgt dort einmalig.
    Du müsstest deine Abfrage zyklisch durchführen. In einer Schleife oder besser über einen Timer.

    Hintergrund des ganzen: Für eine Serienanlage mit verschiedenen Anlagen-Übersichtsbildern sollen Objekte anhängig vom Hintergrundbild neu ausgerichtet werden können. Das in Runtime und ohne Programmierer.
    Eine doch sehr anspruchsvolle Aufgabe.
    Bedenke bitte auch dass du deine Werte irgendwo speichern musst. Sonst beginnt nach einem Neustart alles von vorn.
    Was du ebenfalls in deine Überlegung mit einbeziehen solltest
    - was ist wenn der Monitor gegen einen anderen mit anderer Auflösung getauscht wird. Sind die Objekte noch sichtbar?
    - was ist bei einem Systemupdate. Verschieben sich die Ordner
    - wird das Zielsystem mit unterschiedlichen Benutzern genutzt.
    usw.

    Rechtfertigt der Nutzen wirklich den Aufwand?
    Grüsse Holger

  11. Folgender Benutzer sagt Danke zu holgermaik für den nützlichen Beitrag:

    mystone (15.01.2014)

  12. #10
    Registriert seit
    22.11.2012
    Beiträge
    111
    Danke
    15
    Erhielt 19 Danke für 18 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    oder besser über einen Timer
    Ja so hätte ich mir das gedacht.
    Muss noch schauen wie das geht, weil, das Script ja schnell wiederholt werden soll (Objekt soll ja "sofort" bei Curserbewegung mitbewegt werden) aber muss ja nicht dauerhaft laufen. Sondern z.B. nur wenn auf das zu verschiebende Objekt "Gedrückt" wird. Quasi eine UND-Verknüpfung als Trigger für die C-Aktion. Ist so etwas möglich?

    - was ist wenn der Monitor gegen einen anderen mit anderer Auflösung getauscht wird. Sind die Objekte noch sichtbar?
    Es wird immer ein IPC477C verwendet (Kundenwunsch). Das mus dem Kunden dann auch klar sein, dass das ganze WinCC Projekt auf die Auflösung des Monitors ausgelegt ist.

    Bedenke bitte auch dass du deine Werte irgendwo speichern musst. Sonst beginnt nach einem Neustart alles von vorn.
    Danke für den Hinweis, das ich habe allerdings schon bemerkt
    Wird alles in der Soft PLC des IPC's gespeichert.

    - was ist bei einem Systemupdate. Verschieben sich die Ordner
    Das verstehe ich jetzt nicht. Welche Ordner? Systemupdate?

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 27.04.2012, 09:34
  2. Antworten: 3
    Letzter Beitrag: 05.03.2011, 01:32
  3. "Mouseover" - effekt mit WinCC 5.1 ?
    Von netzbrand im Forum HMI
    Antworten: 2
    Letzter Beitrag: 14.02.2006, 21:54
  4. speichern bei einem ereignis
    Von Anonymous im Forum Hochsprachen - OPC
    Antworten: 11
    Letzter Beitrag: 20.12.2005, 13:42
  5. Antworten: 0
    Letzter Beitrag: 24.09.2005, 15:07

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •