ugetpassword.pas

来自「著名的SecureBlackBox控件完整源码」· PAS 代码 · 共 62 行

PAS
62
字号
unit uGetPassword;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls;

type
  TfrmGetPassword = class(TForm)
    imgKeys: TImage;
    edPassword: TEdit;
    lblPassword: TLabel;
    btnOk: TButton;
    btnCancel: TButton;
    procedure FormActivate(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
    class function GetPassword(var Pwd : string) : boolean;
  end;

var
  frmGetPassword: TfrmGetPassword;


implementation

{$R *.DFM}
class function TfrmGetPassword.GetPassword(var Pwd : string) : boolean;
begin
  Result:=False; Pwd:='';
  If not Assigned(frmGetPassword) then
   Application.CreateForm(TfrmGetPassword,frmGetPassword);
  If not Assigned(frmGetPassword) then exit;
  If frmGetPassword.ShowModal=mrOk then
  begin
    Result:=True;
    Pwd:=frmGetPassword.edPassword.Text;
  end else Result:=False;
  frmGetPassword.Free;
  frmGetPassword:=nil;
end;

procedure TfrmGetPassword.FormActivate(Sender: TObject);
begin
  edPassword.Text:='';
  FocusControl(edPassword);
end;

procedure TfrmGetPassword.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  If Key=VK_RETURN then btnOk.Click;
  If Key=VK_ESCAPE then btnCancel.Click;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?