Tooltip - Inhalt von Eingabefeld

  • Kann mir jemand einen Tip geben wie ich als Tooltip den Inhalt eines Eingabefeldes anzeigen lassen kann?
    Also das Teil wenn man mit dem Mauszeiger über ein Eingabefeld geht.

    Ich habe es mal so probiert:

    Code
    GUICtrlCreateLabel("Verantwortlicher:", 10, 130, 150, 16, $SS_RIGHT)
    $input_verantwortlicher = GUICtrlCreateInput("", 166, 127, 160, 22, $ES_READONLY)
    GUICtrlSetColor(-1, $COLOR_BLUE)
    GUICtrlSetTip(-1, GUICtrlRead($input_verantwortlicher))

    Das funkt allerdings nicht.

  • Und wie setz ich das?
    GUICtrlSetTip muß ja immer unter dem Inputfeld stehen, oder?
    Oder kann man das auch aus einer anderen Stelle einem bestimmten Feld zuordnen?

    Der Grund ist da das Eingabefeld zu kurz ist um manche Einträge komplett anzuzeigen. Kann es auch aus bestimmten Gründen nicht größer machen.
    Der Tooltip sollte dann als Hilfe dienen den kompletten Inhalt anzuzeigen.

    • Offizieller Beitrag

    Ok, das ist in der Tat ein Anwendungsfall.

    Und nein, GuiCtrlSetTip muss nicht immer unter dem Inputfeld stehen. Der erste Parameter, den man dort übergibt, ist die Control-ID (die Rückgabe von GuiCtrlCreateInput) und somit kann man von überall aus dem Programm den ToolTip ändern.
    Um dynamisch auf Benutzereingaben in dem Inputfeld reagieren zu können, kann man GuiRegisterMsg verwenden:

  • Oder so...

    StatusBar

    Einmal editiert, zuletzt von Bitnugger (21. Juni 2017 um 06:52)

    • Offizieller Beitrag

    @Bitnugger: Da hast du es dir aber ziemlich kompliziert gemacht ;)
    Einen Großteil deines Codes kannst du eindampfen, wenn du GuiGetCursorInfo verwendest, um die ID zu ermitteln, über der sich die Maus bewegt.

    Zitat von AutoIt-Hilfe

    GUIGetCursorInfo

    Gets the mouse cursor position relative to GUI window.

    Success: a five-element array that containing the mouse cursor information:
    $aArray[0] = X coord (horizontal)
    $aArray[1] = Y coord (vertical)
    $aArray[2] = Primary down (1 if pressed, 0 if not pressed)
    $aArray[3] = Secondary down (1 if pressed, 0 if not pressed)
    $aArray[4] = ID of the control that the mouse cursor is hovering over (or 0 if none)
  • Bitnugger: Da hast du es dir aber ziemlich kompliziert gemacht
    Einen Großteil deines Codes kannst du eindampfen, wenn du GuiGetCursorInfo verwendest, um die ID zu ermitteln, über der sich die Maus bewegt.

    Oh ja. Dieses Beispiel hatte ich noch aus alten Zeiten als Code-Schnipsel hier rum liegen. GUIGetCursorInfo... wieso ich diese Funktion immer wieder aus den Augen verliere, ist mir ein Rätsel.

    Hier die stark gekürzte Version...

    StatusBar