AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Code-Bibliothek Library: VCL / WinForms / Controls Delphi Edit-Feld mit Windows Passwort-Zeichen
Thema durchsuchen
Ansicht
Themen-Optionen

Edit-Feld mit Windows Passwort-Zeichen

Ein Thema von HeikoAdams · begonnen am 7. Mär 2008
Antwort Antwort
Benutzerbild von HeikoAdams
HeikoAdams

Registriert seit: 12. Jul 2004
Ort: Oberfranken
661 Beiträge
 
FreePascal / Lazarus
 
#1

Edit-Feld mit Windows Passwort-Zeichen

  Alt 7. Mär 2008, 10:22
Das TEdit-Control von Delphi besitzt zwar die Eigenschaft "PasswordChar", jedoch ist es nur sehr schwer möglich, die von Windows XP gewohnten schwarzen Punkte nutzen zu können.

Die nachfolgende Unit ist ein modifizierter Erbe des TEdit-Controls, das bei aktivierten Themes die schwarzen Punkte als Passwort-Zeichen verwendet. Sind die Themes deaktiviert, wird das altbekannte * als Passwort-Zeichen verwendet.
Delphi-Quellcode:
unit PasswordEdit;

interface

uses
  Windows, Classes, Controls, StdCtrls;

type
  TPasswordEdit = class(TCustomEdit)
  protected
    procedure CreateParams(var Params: TCreateParams); override;
  public
    constructor Create(AOwner: TComponent); override;
  published
    property AutoSelect;
    property AutoSize;
    property BiDiMode;
    property BorderStyle;
    property CharCase;
    property Color;
    property DragCursor;
    property DragKind;
    property DragMode;
    property Enabled;
    property HideSelection;
    property ImeMode;
    property ImeName;
    property MaxLength;
    property OEMConvert;
    property ParentBiDiMode;
    property ParentColor;
    property ParentFont;
    property ParentShowHint;
    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;
    property Anchors;
    property Constraints;
  end;

procedure Register;

implementation

uses
  Forms;

procedure Register;
begin
  RegisterComponents('XP', [TPasswordEdit]);
end;

constructor TPasswordEdit.Create(AOwner: TComponent);
const
  FavouredFonts: array[0..2] of String = ('Tahoma', 'Arial', 'MS Sans Serif');
var
  I: Integer;
begin
  inherited;
  I := Low(FavouredFonts);
  while (I <= High(FavouredFonts))
  and (Screen.Fonts.IndexOf(FavouredFonts[I]) < 0) do
    Inc(I);
  if I <= High(FavouredFonts) then
    Font.Name := FavouredFonts[I];
end;

procedure TPasswordEdit.CreateParams(var Params: TCreateParams);
begin
  inherited;
  Params.Style := Params.Style or ES_PASSWORD;
end;

end.
  Mit Zitat antworten Zitat
Antwort Antwort

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz