Avatar billede hr__hallandsen Nybegynder
29. juni 2008 - 12:08 Der er 8 kommentarer og
1 løsning

Windows XP-passwordfelt

Hej

Jeg står og skal bruge et WinXP-passwordfelt. Har kigget lidt på siden http://www.gnegg.ch/2004/01/delphi-winxp-and-password-edits/, men kan ikke få det til at virke.
Nogen, der kan hjælpe?

/Hallandsen
Avatar billede kroning Nybegynder
29. juni 2008 - 13:40 #1
I min Delphi 7 og med WinXP virker den alm. TEdit fint som password edit? Har jeg overset noget?
Avatar billede hr__hallandsen Nybegynder
29. juni 2008 - 14:25 #2
1. Den "almindelige" TEdit viser stjerner ikke prikker
2. Den "almindelige" TEdit advarer ikke, hvis Caps Lock er aktiveret
3. Den "almindelige" TEdit's Text kan læses ved hjælp af WM_GETTEXT
Avatar billede hr__hallandsen Nybegynder
29. juni 2008 - 14:42 #3
Problem løst:

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
  TEdit1 = class(TEdit)
  protected
    { Protected declarations }
    procedure CreateParams(var Params: TCreateParams); override;
  end;
var
  Form1: TForm1;

implementation

{$R *.dfm}

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

procedure TForm1.FormCreate(Sender: TObject);
begin
  with TEdit1.Create(Self) do
  begin
    Visible := True;
    Parent := Form1;
  end;
end;

end.
Avatar billede kroning Nybegynder
29. juni 2008 - 14:43 #4
På min winXP og md Delphi 7 der har jeg ingen problemer med punkt 1+2+3
Avatar billede hr__hallandsen Nybegynder
30. juni 2008 - 22:30 #5
Hov ... jeg forlod mig vist lidt rigeligt på gneggs postulater - 2 + 3 virker fint.

Men der kan stadig ikke vises prikker, da PasswordChar skal gå fra 0 til og med 255.

Så kan man i stedet fx vælge Wingdings®, men så bliver der ikke vist stjerner i ældre Windows-versioner.

/Hallandsen

Wingdings is a registered trademark of Microsoft Corporation in the United States and/or other contries
Avatar billede hr__hallandsen Nybegynder
30. juni 2008 - 22:31 #6
contries = countries
Avatar billede psycosoft-funware Nybegynder
03. juli 2008 - 23:53 #7
har du inkluderet en [exe navn].exe.manifest sammen med programmet så xp temaet tager over i stedet? :)
Avatar billede psycosoft-funware Nybegynder
03. juli 2008 - 23:57 #8
http://msdn.microsoft.com/en-us/library/aa289524(VS.71).aspx

http://msdn.microsoft.com/en-us/library/ms997646.aspx

dette skal stå i et ganske almindeligt plai text format:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

<assemblyIdentity

version="1.0.0.0"

processorArchitecture="X86"

name="CompanyName.ProductName.YourApp"

type="win32"

/>

<description>Your application description here.</description>

<dependency>

<dependentAssembly>

<assemblyIdentity

type="win32"

name="Microsoft.Windows.Common-Controls"

version="6.0.0.0"

processorArchitecture="X86"

publicKeyToken="6595b64144ccf1df"

language="*"

/>

</dependentAssembly>

</dependency>

</assembly>

dette gemmes i med .exe.manifest endelsen fx: delphi32.exe.manifest (så bliver delphi faktisk også tegnet med windows xp's nyere controls tema)
Avatar billede hr__hallandsen Nybegynder
04. juli 2008 - 21:09 #9
^ Ja, men det gør ingen forskel

/Hallandsen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester