mehrere ToolTip anzeigen

  • hallo, :hammer:
    ich haette da gern mal eine Frage.

    Beim arbeiten mit ToolTip habe ich das Problem, dass es leider immer nur den letzte Eintrag anzeigt.
    Ich moechte aber gerne zur gleichen Zeit und an vier verschiedenen Stellen, vier unterschiedliche Dinge mit je einem ToolTip anzeigen.

    Was mache ich falsch ?

    Vielen Dank fuer die Hilfe
    @Berti

    • Offizieller Beitrag

    Du machst nichts falsch - ist wie beim Highlander: Es kann nur einen geben!
    Wieso möchtest du zeitgleich 4 Tooltipps anzeigen?


    Edit:
    Egal warum, Lösungsvorschlag - 4 Popupwindows, die kannst du zeitgleich positionieren, mit OnTop-Style sind sie auch garantiert im Vordergrund.

  • xD hrhr, sehr geile signatur bugfix, das zitat fetzt!!

    zu den tooltip, du kannst aber mit sehr geringer zeit verzögerung verschiedene tooltips anzeigen lassen, --beschreib doch mal genauer, was du machen willst, evtl kann man dir ja dabei helfen..

    • Offizieller Beitrag

    Hallo!

    Ich hab dir mal schnell eine UDF Gebalstelt.. Ich nenne Sie _ToolTip (sehr einfallsreich ich weiß :D )

    Spoiler anzeigen
    [autoit]

    $tool1 = _ToolTip("Test", 50, 50)
    Sleep(1000)
    $tool2 = _ToolTip("Test2", 90, 90)
    Sleep(500)
    _ToolTipDelete($tool1,1);Ausblenden und dann schließen
    Sleep(800)
    _ToolTipDelete($tool2);Hart schlißen

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _ToolTip($sText, $iX, $iY)
    ;By GtaSpider

    Local $RetAr[2]
    ;Mainfenster erstellen
    $tooltipmain = GUICreate("", 123, 123, $iX, $iY, -2147483648, 128);$WS_POPUP = -2147483648, $WS_EX_TOOLWINDOW = 128
    GUISetBkColor(0xFFFFE1)
    ;Label mit Text erstellen
    $lab = GUICtrlCreateLabel($sText, 3, 3)

    $cgp = ControlGetPos($tooltipmain, "", $lab);Labelgröße rausfinden
    WinMove($tooltipmain, "", $iX, $iY, $cgp[2], $cgp[3]);Gui perfekt formen
    ;Schatten erstellen
    $tooltipshadow = GUICreate("", 123, 123, $iX, $iY, -2147483648, 128);$WS_POPUP = -2147483648, $WS_EX_TOOLWINDOW = 128
    GUISetBkColor(0x0)
    WinSetTrans($tooltipshadow, "", 100)
    ;Schatten perfekt formen
    WinMove($tooltipshadow, "", $iX + 3, $iY + 3, $cgp[2], $cgp[3])
    ;OnTop
    WinSetOnTop($tooltipmain,"",1)
    WinSetOnTop($tooltipmain,"",2)
    ;Zeige Tooltip
    GUISetState(@SW_SHOW, $tooltipshadow)
    GUISetState(@SW_SHOW, $tooltipmain)
    ;Bereite das Return array vor, falls man das Tooltip wider entfernen will
    $RetAr[0] = $tooltipmain
    $RetAr[1] = $tooltipshadow
    Return $RetAr
    EndFunc ;==>_ToolTip

    [/autoit] [autoit][/autoit] [autoit]

    Func _ToolTipDelete($aTooltiphwnd,$smooth=0)
    ;By GtaSpider

    ;Löscht das tooltip
    If $smooth Then ;Wenn smooth wahr ist dann wird ausgeblendet
    For $i = 255 To 0 Step -10
    WinSetTrans($aTooltiphwnd[0],"",$i)
    If $i < 101 Then WinSetTrans($aTooltiphwnd[1],"",$i)
    Sleep(10)
    Next
    EndIf
    GUIDelete($aTooltiphwnd[0])
    GUIDelete($aTooltiphwnd[1])
    EndFunc

    [/autoit]

    Mfg Spider

  • vielen Dank Jungs,
    wenn ich mir den code so anschaue will ich mich lieber mal etwas praeziser ausdruecken.

    1.) Wozu das ganze ?
    Ich moechte verschiedene Objekte gleichzeitig beobachten.
    2.) bitte keine zeitversetzte Version
    3.) Gesucht wird eine udf, die sich genau wie ToolTip verhaelt, nur ohne Highlaender-Syndrom.
    Schoen waehre auch, wenn man die Hintergrundfarbe und Schriftart bestimmen koennte.

    Das ganze ungefaehr so:

    _MyToolTip( "text" [, x [, y [, "title" [, decColor [, schrift]]]]])

    parameter:
    decColor = pixelcolor(decimal)
    schrift 0 bis 2 = kursiv bis fett

    Wer kann das ?
    Gruss @Berti