Delphi Inputbox 输入时显示*号
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
const InputboxMessage = WM_USER + 200; //定义消息
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
procedure InputboxPassword(var MSG: TMessage); message InputBoxMessage;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
PostMessage(Handle,InputboxMessage,0,0); //发送消息
inputbox('a','b','ssss')
end;
procedure TForm1.InputboxPassword(var MSG: TMessage);
var
InputForm,Hedit: THandle;
begin
InputForm:= Screen.Forms[0].Handle;
if InputForm <> 0 then
begin
Hedit:= FindWindowEx(InputForm,0,'Tedit',nil);
SendMessage(Hedit,EM_SETPASSWORDCHAR,Ord('*'),0);
end;
end;
end.
例:
procedure TForm2.Image1DblClick(Sender: TObject);
begin
PostMessage(Handle,InputboxMessage,0,0);
if (inputbox('授权','请输入授权码','')='baidu.com') then
Label5.Visible :=true
else
begin
exit;
Application.Terminate;
end;
end;