请输入您要查询的百科知识:

 

词条 InputQuery
释义

函数功能

InputQuery里输入的字显示为密码“*”

函数原型实例

function InputQuery(const ACaption, APrompt: string;

var Value: string): Boolean;

function GetAveCharSize(Canvas: TCanvas): TPoint;

var

I: Integer;

Buffer: array[0..51] of Char;

begin

for I := 0 to 25 do Buffer[I] := Chr(I + Ord('A'));

for I := 0 to 25 do Buffer[I + 26] := Chr(I + Ord('a'));

GetTextExtentPoint(Canvas.Handle, Buffer, 52, TSize(Result));

Result.X := Result.X div 52;

end;

var

Form: TForm;

Prompt: TLabel;

Edit: TEdit;

DialogUnits: TPoint;

ButtonTop, ButtonWidth, ButtonHeight: Integer;

begin

Result := False;

Form := TForm.Create(Application);

with Form do

try

Canvas.Font := Font;

Font.Charset := GB2312_CHARSET;

Font.Size := 9;

DialogUnits := GetAveCharSize(Canvas);

BorderStyle := bsDialog;

Caption := ACaption;

ClientWidth := MulDiv(180, DialogUnits.X, 4);

Position := poScreenCenter;

Prompt := TLabel.Create(Form);

with Prompt do

begin

Parent := Form;

Caption := APrompt;

Left := MulDiv(8, DialogUnits.X, 4);

Top := MulDiv(8, DialogUnits.Y, 8);

Constraints.MaxWidth := MulDiv(164, DialogUnits.X, 4);

WordWrap := True;

end;

Edit := TEdit.Create(Form);

with Edit do

begin

PasswordChar := '*';

Parent := Form;

Left := Prompt.Left;

Top := Prompt.Top + Prompt.Height + 5;

Width := MulDiv(164, DialogUnits.X, 4);

MaxLength := 255;

Text := Value;

SelectAll;

end;

ButtonTop := Edit.Top + Edit.Height + 15;

ButtonWidth := MulDiv(50, DialogUnits.X, 4);

ButtonHeight := MulDiv(14, DialogUnits.Y, 8);

with TButton.Create(Form) do

begin

Parent := Form;

Caption := '取消';

ModalResult := mrCancel;

Cancel := True;

SetBounds(MulDiv(92, DialogUnits.X, 4), Edit.Top + Edit.Height + 15,

ButtonWidth, ButtonHeight);

Form.ClientHeight := Top + Height + 13;

Left := (Edit.Left + Edit.Width) - Width;

end;

with TButton.Create(Form) do

begin

Parent := Form;

Caption := '确定';

ModalResult := mrOk;

Default := True;

SetBounds(MulDiv(38, DialogUnits.X, 4), ButtonTop, ButtonWidth,

ButtonHeight);

Left := (Edit.Left + Edit.Width) - (Width * 2) - 4;

end;

if ShowModal = mrOk then

begin

Value := Edit.Text;

Result := True;

end;

finally

Form.Free;

end;

end;

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/3/20 6:16:31