Merkwürdiges Verhalten von Tooltips (ANFÄNGER)

  • Werte AutoIt-Profis,

    mir ist ein inkorrektes Verhalten bei zwei aufeinanderfolgenden Tooltips aufgefallen: Ich habe eine Meldung erstellt, die ich mittig auf dem Bildschirm platzieren möchte. Dafür nutze ich den Optionsparameter "2" (Center the tip at the x,y coordinates instead of using them for the upper left corner) und es klappt wie erwartet.

    Im weiteren Verlauf des Scripts benötige ich einen anderen Tooltip links unten am Bildschirm. Dafür ist es am einfachsten, wenn die x/y Koordinaten des Tooltips wieder "Default-Verhalten" haben. Leider behält der zweite Tooltip jedoch das Verhalten "Center the tip at the x,y coordinates" des ersten Tooltips bei und ich schaffe es nicht, ihm das "abzugewöhnen" ...

    Script 1 (alles klappt wie es soll)

    Spoiler anzeigen

    ToolTip(" Macht er auch ... ", @DesktopWidth/2, @DesktopHeight/2, _

    " Dieser Tooltip soll Bildschirmmittig erscheinen ",2,2)

    Sleep(5000)

    Script 2 (alles klappt wie es soll)

    Spoiler anzeigen

    ToolTip(" Macht er nur korrekt, wenn vorher der mittige NICHT aufgerufen wurde ", 4, @DesktopHeight - 60, _

    " Dieser Tooltip soll unten links erscheinen ",2,Default)

    Sleep(5000)

    Script 3 - die identischen Tooltips der Scripte 1 und 2 nacheinander - der zweite Tooltip wird bzgl. seiner Koordinaten "gecentert" und verschwindet damit links aus dem Bildschirm (trotz Rücksetzung und kurzer Pause) ... ?!

    Spoiler anzeigen

    ToolTip(" Macht er auch ... ", @DesktopWidth/2, @DesktopHeight/2, _

    " Dieser Tooltip soll Bildschirmmittig erscheinen ",2,2)

    Sleep(5000)

    ToolTip("")

    Sleep(500)


    ToolTip(" Macht er nur korrekt, wenn vorher der mittige NICHT aufgerufen wurde ", 4, @DesktopHeight - 60, _

    " Dieser Tooltip soll unten links erscheinen ",2,Default)

    Sleep(5000)

    Frage wie könnte ich das lösen - bzw. eine korrekte Rücksetzung der Default-Werte für den zweiten Tooltip erreichen?

    Besten Dank für Eure Mühen!

    Gruß Kilo (ANFÄNGER)

    • Offizieller Beitrag

    die ich mittig auf dem Bildschirm platzieren möchte. Dafür nutze ich den Optionsparameter "2" (Center the tip at the x,y coordinates instead of using them for the upper left corner) und es klappt wie erwartet.

    Das hast du total falsch verstanden.

    Das Zentrieren bezieht sich auf den Text IM TOOLTIP!! und nicht auf die Platzierung auf dem Bildschirm, dafür sind Koordinaten erforderlich. Mit dem Default-Keyword statt der Koordinaten wird der Tip in der Nähe des Mauszeigers angezeigt.

    Edit: Nochmal deutlicher:

    Normal: die linke untere Ecke des Tooltip wird auf die x,y - Koordinaten gesetzt.

    $TIP_CENTER: die Mitte des Tooltip wird an die x,y - Koordinate gesetzt

    Edit_2:

    Mit einer eigenen (gekapselten) ToolTip Funktion kann man das recht elegant lösen:

    $TIP_FORCEVISIBLE wird außer bei Anzeige in der Mitte immer benötigt. Falls die Option $TIP_CENTER verwendet wird, könnte sonst der Tip ausserhalb des Bildschirmes dargestellt werden. Das wird so verhindert.

  • Hi,

    sieh mal hier:

    https://www.autoitscript.com/forum/topic/20…position-issue/

    Folgendes klappt bei mir:

    mfg

    Zeitriss

  • sieh mal hier:

    Vielen Dank für den Link... durch diesen habe ich nun einen wirklich sehr ätzenden Fehler identifizieren können, der mich vor etwa 18 Monaten fast in den Wahnsinn getrieben hat. Wäre nie drauf gekommen, das es am ToolTip liegen könnte.

    ToolTip(" Macht er nur korrekt, wenn vorher der mittige NICHT aufgerufen wurde ", 4, @DesktopHeight - 60, _
    " Dieser Tooltip soll unten links erscheinen ",2,Default)

    Im Anhang mal vier Bilder, die zeigen, wie der Tip bei mir mit zwei Monitoren angezeigt wird.

  • Vielen Dank für die Antworten!

    Zitat

    ToolTip("", Default, Default, Default, Default, -1)

    von Zeitriss hat mein Problem gelöst.

    BugFix :

    Sorry ich hatte mich wohl nicht gänzlich verständlich ausgedrückt. Mir war schon klar, dass der Ausdruck "@DesktopWidth/2, @DesktopHeight/2" für die Position der Bildschirmmitte steht. Zusätzlich lässt sich dann aber noch die Position (x/y Koordinaten) des Tooltip mit zwei unterschiedlichen Einstellungen beeinflussen. Und da lag bei mir die Frage. Mein "Rücksetzen" - Tooltip("") - hat nicht gereicht. Mit der Ergänzung von Zeitriss klappt es prima.

    Danke an alle - Problem(chen) gelöst!

    Gruß Kilo