Hallo,
ich möchte gerne ein Editfeld, das ein Password Char enthält, gerne ändern.
Leider functioniert das nicht, wenn ich es über meinem Programm ändern möchte, wird der Inhalt des Editfeldes gelöscht.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| procedure SetPasswordChar(AHandle: HWND; Value: Char); var S: String; len: Integer; begin len := Sendmessage(AHandle, WM_GETTEXTLENGTH, 0, 0); SetLength(S, len); SendMessage(AHandle, WM_GETTEXT, len+1, lparam(@S[1])); SendMessage(AHandle, EM_SETPASSWORDCHAR, Ord(Value), 0); SendMessage(AHandle, WM_SETTEXT, 0, Integer(PChar(S))); end;
procedure TForm1.Button1Click(Sender: TObject); var wndWindow,wndEdit: HWND; begin wndWindow := FindWindow('IEFrame','TestSeite - Windows Internet Explorer'); wndEdit := FindWindowEx(wndWindow, 0, 'Edit', nil);
SetPasswordChar(wndEdit,'-'); end; |
Gibt es vieleicht eine andere möglichkeit, ein Editfeld "das ein Password Char enthält" zu ändern?
Ich wäre euch für jede hilfe sehr dankbar.
MfG