输入框:
answer:=InputBox('a','b','c');
工作很好,但是我正在寻找一个蒙版的人,就像一个密码框,你只看到小星星,而不是打字符.
@H_301_6@解决方法
您可以将Windows消息发送到由InputBox创建的编辑控件,该控件将标记用于输入密码的编辑控件.代码如下从
http://www.swissdelphicenter.ch/en/showcode.php?id=1208:
const InputBoxMessage = WM_USER + 200; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private procedure InputBoxSetPasswordChar(var Msg: TMessage); message InputBoxMessage; public 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,'TEdit',nil); { // Change button text: hButton := FindWindowEx(hInputForm,'TButton',nil); SendMessage(hButton,WM_SETTEXT,Integer(PChar('Cancel'))); } SendMessage(hEdit,EM_SETPASSWORDCHAR,Ord('*'),0); end; end; procedure TForm1.Button1Click(Sender: TObject); var InputString: string; begin PostMessage(Handle,InputBoxMessage,0); InputString := InputBox('Input Box','Please Enter a Password',''); end;@H_301_6@ @H_301_6@