...
implementation
var
EditCount: Integer = 1;
procedure TForm1.FormCreate(Sender: TObject);
begin
Randomize; end;
procedure TForm1.Button1Click(Sender: TObject);
begin
with TEdit.Create(Self) do
begin
Name:= 'MiEdit'+IntToStr(EditCount);
Parent:= Self;
PasswordChar:= '*'; PopupMenu:= PopupMenu1;
Width:= 100;
Height:= 21;
Left:= Random(Self.ClientWidth-100)+5;
Top := Random(Self.ClientHeight-21)+5;
Inc(EditCount);
end;
end;
procedure TForm1.PopupMenu1Popup(Sender: TObject);
begin
if (PopupMenu1.PopupComponent as TEdit).PasswordChar = #0 then
miShowHidePwd.Caption:= 'Ocultar contraseña'
else
miShowHidePwd.Caption:= 'Mostrar contraseña';
end;
procedure TForm1.miShowHidePwdClick(Sender: TObject);
const
PWDCHAR: array[Boolean] of Char = (#0, '*');
var
E: TEdit;
begin
E:= FindComponent(PopupMenu1.PopupComponent.Name) as TEdit;
if Assigned(E) then
E.PasswordChar:= PWDCHAR[E.PasswordChar = #0]
end;