Hilfe zu _IsPressed bei Passwordfeldern

  • Hallo zusammen,

    ich habe ein Inputfeld welches ein Passwort enthält durch Sterne ersetzt. Daneben habe ich ein Icon eingesetzt (was man aus Windows kennt - dieses Auge womit das PW wieder eingeblendet wird). Ziel soll sein, dass das PW wieder im Klartext eingeblendet wird, wenn mit der Maus das Icon gedrückt wird. Wenn Maus losgelassen wird, soll das PW wieder verschlüsselt sein.

    Folgende Codezeilen verwende ich:

    Code
    $input_admin_OSC_PW = GUICtrlCreateInput(FileReadLine($file_ticketversion, 9), 390, 470, 130)
    _SendMessage(GUICtrlGetHandle($input_admin_OSC_PW), $EM_SETPASSWORDCHAR, Asc('*'), 0)
    $icon_admin_OSC_PW = GUICtrlCreateIcon("\\BER04APPMM4-1\allgemein\TicketTool\settings\icons.dll", -10, 522, 473, 15, 15)

    Und hier der Teil aus der While-Schleife:

    Code
            Case $icon_admin_OSC_PW
                Do
                    _SendMessage(GUICtrlGetHandle($input_admin_OSC_PW), $EM_SETPASSWORDCHAR, 0, 0)
                Until _IsPressed("01") = False
                _SendMessage(GUICtrlGetHandle($input_admin_OSC_PW), $EM_SETPASSWORDCHAR, Asc('*'), 0)

    Das ganze funktioniert indirekt. Wenn ich die Maus drücke während ich über dem Icon bleibe passiert nichts. Halte ich die Maus aber gedrückt und ziehe dabei dann über das Inputfeld, dann setzt er den Befehl um. Auch das "zurücksetzen" auf die Verschlüsselung macht er nur, wenn ich die Maus über dem Inputfeld loslasse und nicht - wie es ja sein sollte - über dem Icon.

    Wo übersehe ich den Fehler?

    Mein AutoIT Smartphone GUI >>hier<<

    Der Mensch ist das einzige Tier, dass arbeiten muss.

  • Du kannst _WinAPI_InvalidateRect verwenden um das Control neu zeichnen zu lassen, dann wird das Passwortchar auch aktualisiert.

    Und bitte nur einmal _SendMessage verwenden, ansonsten wird das Control mit Millionen (und ich untertreibe nicht) Nachrichten zugemüllt.

  • Das ist nun wirklich OT aber :

    Und bitte nur einmal _SendMessage verwenden, ansonsten wird das Control mit Millionen (und ich untertreibe nicht) Nachrichten zugemüllt.

    Das soll natürlich (und ich übertreibe nicht) heißen! ;)

    untertreiben -> etwas kleiner, geringer oder unbedeutender darstellen (als es in Wirklichkeit ist)

    und :

    übertreiben -> etwas größer, wichtiger oder schlimmer darstellen (als es in Wirklichkeit ist)

    sind natürlich sogenannte Gegensatzwörter.

    Durch den Zusatz 'nicht', also :

    "... ansonsten wird das Control mit Millionen (und ich untertreibe nicht) Nachrichten zugemüllt."

    bzw. :

    "... ansonsten wird das Control mit Millionen (und ich übertreibe nicht) Nachrichten zugemüllt."

    wird dieser Gegensatz (nach meinem Sprachverständnis) aber aufgehoben ;) !

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Durch den Zusatz 'nicht', also :

    "... ansonsten wird das Control mit Millionen (und ich untertreibe nicht) Nachrichten zugemüllt."

    bzw. :

    "... ansonsten wird das Control mit Millionen (und ich übertreibe nicht) Nachrichten zugemüllt."

    wird dieser Gegensatz (nach meinem Sprachverständnis) aber aufgehoben ;) !

    Ich verstehe das so:

    Code
    "... ansonsten wird das Control mit Millionen "oder weniger" (und ich untertreibe nicht) Nachrichten zugemüllt." ; --> "er untertreibt nicht"
    "... ansonsten wird das Control mit Millionen "oder mehr" (und ich übertreibe nicht) Nachrichten zugemüllt."     ; --> "er übertreibt nicht"

    Da in dem Satz kein "oder weniger" und kein "oder mehr" enthalten ist, kann man davon ausgehen, dass "oder mehr" gemeint ist.

  • Hi Bitnugger

    Vorab : Mit dem Statement

    Hehe na das macht mal unter Euch aus, da will ich nicht im Weg stehen :rock::D

    hat uns der TE ja sein OK erteilt, sich dieser sprachlichen Spielerei hinzugeben :).

    Da in dem Satz kein "oder weniger" und kein "oder mehr" enthalten ist, kann man davon ausgehen, dass "oder mehr" gemeint ist.

    Da alpines aber keine 'Richtung' angegeben hat, bleibt "oder mehr" nur eine Vermutung ! Insofern sind beide Zusätze "(ich untertreibe nicht)" bzw. "(ich übertreibe nicht)" möglich.

    Letztlich kann man das ganze sicher so oder so interpretieren - wir müssen es auch nicht 'ad nauseam' diskutieren (obwohl ich solche Themen mag - Du offensichtlich ja auch;)).

    Wir machen uns hier dbzgl. wahrscheinlich mehr Gedanken, als es alpines je getan hat :P.

    Für den Thread selbst ist das alles wohl eher von geringem Wert.

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."