Hallo,
ich habe folgendes Problem unter Delphi:
Ich möchte, dass ein Edit-Feld, wenn es betreten wird das Passwort im Klartext anzeigt, und nach dem Verlassen wieder nur Sternchen. Soweit kein Problem.
Man nehme ein leeres Formular mit zwei TEdit, und weise OnEnter und OnExit jeweils zu:
Delphi-Quellcode:
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm2 =
class(TForm)
Edit1: TEdit;
Edit2: TEdit;
procedure Edit1Enter(Sender: TObject);
procedure Edit1Exit(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
{$R w7_ohneAdmin.res}
procedure TForm2.Edit1Enter(Sender: TObject);
begin
(Sender
as Tedit).PasswordChar := #0;
end;
procedure TForm2.Edit1Exit(Sender: TObject);
begin
(Sender
as Tedit).PasswordChar := '
*';
end;
end.
Meines Wissens sollte auch in Delphi 2010 trotz
Unicode etc. "#0" immer noch als "keine Sternchen sondern normalen Text anzeigen" gültig sein; ist ja auch der Standardwert im Objektinspektor.
Startet man nun das Programm (man kann in beiden Editfeldern beliebig eintippen, man sieht den Cursor, alles ganz normal) und wechselt das zweite Mal in das selbe Edit, sieht man keinen Cursor mehr! Man kann zwar tippen, löschen, nach links uns rechts gehen (mit einem unsichtbaren Cursor!) etc., aber man sieht ihn halt nicht mehr. Auch nach erneutem hin- und herwechseln oder Maus-anklicken bekommt man ihn nicht mehr sichtbar...
Kennt jemand das Problem, bzw. kann das jemand mit Delphi 2010 nachvollziehen? Problem von Delphi, oder mache ich was falsch?
Embarcadero® Delphi® 2010 Version 14.0.3593.25826 incl. Update 5
Delphi 10.4 32-Bit auf Windows 10 Pro 64-Bit, ehem. Delphi 2010 32-Bit auf Windows 10 Pro 64-Bit