首页 > 代码库 > 一个修改过简化版的InputQuery(简单实用,用到了Canvas)

一个修改过简化版的InputQuery(简单实用,用到了Canvas)

主要是觉得在单输入的情况下, 原来InputQuery输入框左边的文本太难看了......

 

  function _InputQuery(const ACaption: string; const APrompt: string; var AValue: string): Boolean;  var    nForm: TForm;    nEdit: TEdit;    nTop: Integer;    nTextMetric: TTextMetric;  begin    Result := False;    nForm := TForm.CreateNew(Application);    with nForm do    try      Canvas.Font := Font;      BorderStyle := bsDialog;      Caption := ACaption;      ClientWidth := 256;      PopupMode := pmAuto;      Position := poScreenCenter;      nEdit := nil;      GetTextMetrics(Canvas.Handle, nTextMetric);      nTop := nTextMetric.tmAscent + 1;      nEdit := TEdit.Create(nForm);      with nEdit do      begin        Parent := nForm;        Left := 8;        Top := nTop;        Width := nForm.ClientWidth - 16;        MaxLength := 255;        Text := AValue;        SelectAll;        Inc(nTop, Height + 4);      end;      if APrompt <> ‘‘ then      begin        with TLabel.Create(nForm) do        begin          Parent := nForm;          AutoSize := False;          Caption := APrompt;          Font.Color := clGrayText;          Left := 8;          Top := nTop;          Width := nForm.ClientWidth - 16;          WordWrap := False;          Inc(nTop, Height + 15);        end;      end;      with TButton.Create(nForm) do      begin        Parent := nForm;        Caption := ‘确定‘;        ModalResult := mrOk;        Default := True;        SetBounds(nForm.ClientWidth - Width * 2 - 8 - 4, nTop, Width, Height);      end;      with TButton.Create(nForm) do      begin        Parent := nForm;        Caption := ‘取消‘;        ModalResult := mrCancel;        Cancel := True;        SetBounds(nForm.ClientWidth - Width - 8, nTop, Width, Height);        nForm.ClientHeight := Top + Height + nTextMetric.tmAscent;      end;      if ShowModal = mrOk then      begin        AValue := nEdit.Text;        Result := True;      end;    finally      nForm.Free;    end;  end;

 

http://www.cnblogs.com/hs-kill/p/4707744.html

一个修改过简化版的InputQuery(简单实用,用到了Canvas)