📄 passwd.pas
字号:
unit Passwd;
interface
uses
StdCtrls, Classes, Controls;
type
TPasswordEdit = class(TCustomEdit)
protected
FPassword: Boolean;
procedure CreateParams(var Params: TCreateParams); override;
procedure SetPassword(Value: Boolean);
public
constructor Create(AOwner: TComponent); override;
published
property Password: Boolean read FPassword write SetPassword default True;
property Anchors;
property AutoSelect;
property AutoSize;
property BevelEdges;
property BevelInner;
property BevelKind default bkNone;
property BevelOuter;
property BiDiMode;
property BorderStyle;
property CharCase;
property Color;
property Constraints;
property Ctl3D;
property DragCursor;
property DragKind;
property DragMode;
property Enabled;
property Font;
property HideSelection;
property ImeMode;
property ImeName;
property MaxLength;
property OEMConvert;
property ParentBiDiMode;
property ParentColor;
property ParentCtl3D;
property ParentFont;
property ParentShowHint;
//property PasswordChar;
property PopupMenu;
property ReadOnly;
property ShowHint;
property TabOrder;
property TabStop;
property Text;
property Visible;
property OnChange;
property OnClick;
property OnContextPopup;
property OnDblClick;
property OnDragDrop;
property OnDragOver;
property OnEndDock;
property OnEndDrag;
property OnEnter;
property OnExit;
property OnKeyDown;
property OnKeyPress;
property OnKeyUp;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnStartDock;
property OnStartDrag;
end;
procedure Register;
implementation
uses Windows;
procedure Register;
begin
RegisterComponents('Samples', [TPasswordEdit]);
end;
constructor TPasswordEdit.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FPassword := True;
end;
procedure TPasswordEdit.SetPassword(Value: Boolean);
begin
if Password <> Value then
begin
FPassword := Value;
RecreateWnd;
end;
end;
procedure TPasswordEdit.CreateParams(var Params: TCreateParams);
begin
inherited;
{ Windows XP: If the edit control is from user32.dll, each character
is displayed as an asterisk. However, if the edit control is from
comctl32.dll version 6, characters are displayed as black circles. }
if FPassword then
begin
Params.Style := Params.Style or ES_PASSWORD;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -