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('授权','请输入授权码','')='5avip.net') then Label5.Visible :=true else begin exit; Application.Terminate; end; end;
posted on 2020-03-16 18:11 windsonvip 阅读(540) 评论(0) 编辑 收藏 举报