API - mostrando asteriscos na edit do inputbox

Top  Previous  Next

const

InputBoxMessage = WM_USER + 123;

type

TForm1 = class(TForm)

Button1: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

procedure InputBoxSetPasswordChar

(var Msg: TMessage); message InputBoxMessage;

public

{ Public declarations }

end;

 

var

Form1: TForm1;

 

implementation

{$R *.DFM}

procedure TForm1.InputBoxSetPasswordChar

(var Msg: TMessage);

var

hInputForm, hEdit, hButton: HWND;

begin

hInputForm := Screen.Forms[0].Handle;

if (hInputForm <> 0) then

begin

hEdit := FindWindowEx

(hInputForm, 0, ‘TEdit’, nil);

SendMessage

(hEdit, EM_SETPASSWORDCHAR, Ord(‘*’), 0);

end;

end;

 

procedure TForm1.Button1Click(Sender: TObject);

var

InputString: string;

begin

PostMessage(Handle, InputBoxMessage, 00);

InputString := InputBox

(‘The Club’, ‘Digite a senha’, ‘’);

if InputString <> ‘’ then

ShowMessage(‘Retorno do InputBox ‘ + InputString);

end;