Delphi Inputbox,InputQuery用法
Posted 纸上年华
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Delphi Inputbox,InputQuery用法相关的知识,希望对你有一定的参考价值。
function InputQuery(const ACaption, APrompt: string; var Value: string): Boolean;
InputQuery返回值为是否点了OK 输入的字符串放在了变量Value中
function InputBox(const ACaption, APrompt, ADefault: string): string;
inputBox返回值是字符串,也就是输入的字符串
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
begin
//点击了OK按钮后,则
if InputQuery(‘标题‘,‘提示字符‘,s) then
begin
if s<>‘‘ then //如果输入不为空则
showmessage(s);
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
s:string;
begin
s:=InputBox(‘标题‘,‘提示字符‘,s);
if s<>‘‘ then
showmessage(s);
end;
首先自定义一个消息ID
const
InputBoxMessage = WM_USER + 200;
接着声明并实现该消息的处理过程
procedure InputBoxSetPasswordChar(var Msg: TMessage); message InputBoxMessage;//声明
procedure Tfrm.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);
// Change button text:
hButton := FindWindowEx(hInputForm, 0, ‘TButton‘, ‘Cancel‘);
SendMessage(hButton, WM_SETTEXT,0, Integer(PChar(‘取消‘)));
hButton := FindWindowEx(hInputForm, 0, ‘TButton‘, ‘OK‘);
SendMessage(hButton, WM_SETTEXT,0, Integer(PChar(‘确定‘)));
end;
end;
使用自定义后的InputBox
PostMessage(Handle, InputBoxMessage, 0, 0);
InputBox(‘请设置解锁密码‘,‘请设置解锁密码(不能为空):‘,‘‘);
以上是关于Delphi Inputbox,InputQuery用法的主要内容,如果未能解决你的问题,请参考以下文章
Delphi中Inputbox 和Inputquery 函数的使用