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:
$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:
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?