![]() |
Punkte satt Striche im PW-Feld in VCL mit Manifest
Moin,
Ich muss das ![]() Luckie fragt ja, wie er diese schwaren Punkte in einem Edit hinbekommt, wie bei einer Passwort-eingabe bei XP. Das Gleiche möchte ich bei einem Edit in meiner Form (hier Form3) auch realisieren. Jedoch gelingt es mir nicht das Flag "ES_PASSWORD" zu setzen :( Hier einfach mal mein Code, der im OnCreate-Ereigniss der Form3 ausgeführt wird.
Delphi-Quellcode:
Leider bekomme ich nicht das Gewünschte Ergebnis :(
procedure TForm3.FormCreate(Sender: TObject);
var dwStyle : DWORD; AHandle : hWnd; begin AHandle := EdtTest.Handle; dwStyle := GetWindowLong(AHandle, GWL_STYLE); dwStyle := dwStyle or ES_PASSWORD; SetWindowLong(AHandle, GWL_Style, dwStyle); end; Ich bin für jede Hilfe dankbar :) btw, die suche über google und in DP brachten -mit meinen genannten Suchkriterien^^- keine Erfolge... so far GimbaR |
Re: Punkte satt Striche im PW-Feld in VCL mit Manifest
ja, das hat ich mich auch schonmal gefragt...
Wär schön, wenn das einer wüsste! :corky: |
Re: Punkte satt Striche im PW-Feld in VCL mit Manifest
Ich glaube es war schrift auf Windings setzen und passwortchar auf #1 aber bei den Schweizern gibt es eine tip dazu
|
Re: Punkte satt Striche im PW-Feld in VCL mit Manifest
Den Tipp bei den Schweitzern habe ich mir schon angeschaut, der behandelt aber nicht ES_PASSWORD, sondern setzt nur ein anderes Passwort-zeihen, wie man es auch im Editor von Delphi tun kann. UI
In dem oben erwähnten Thread wird aber Luckie empfohlen ES_PASSWORD zu nehmen. Der Effekt is übrigens aus meiner Sicht nich der Selbe. Ich habe mal spaßeshalber die Edit-Demos aus Luckie Win32API-Tuts genommen und folgendes geschrieben:
Delphi-Quellcode:
Und es lässt sich ein deutlicher (auchw enn er klein ist) Unterschied sehen, zwischen der Variante das Passwortzeichen auf #149/#7 mit der Schriftart Tahoma zu setzen oder aber eben das Flag ES_PASSWORD zu setzen. Ich möchte aber nun wissen, wie ich in der VCL das Flag ES_PASSWORD korrekt setze :)
function WndProc(wnd: HWND; uMsg: UINT; wp: WPARAM; lp: LPARAM): LRESULT;
. . . hwndEdit1 := CreateWindowEx(WS_EX_CLIENTEDGE,'EDIT','', WS_VISIBLE or WS_CHILD or ES_NOHIDESEL [b] or ES_PASSWORD[/B],10,20,400,20,wnd, IDC_EDIT1,hInstance,nil); . . . end; so far GimbaR |
Re: Punkte satt Striche im PW-Feld in VCL mit Manifest
Zitat:
|
Re: Punkte satt Striche im PW-Feld in VCL mit Manifest
Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:
Aber anscheinend muss ich meine Frage ein bisschen umstellen: Wie Bekomm ich das Passwortzeichen von einem Editfeld so hin wie bei XP macht? Im Anhang habe ich mal zwei Bilder hinzugefügt: nonVCL Stammt aus Luckies "WindowsUI\Edit"-Demo, mit folgender Veränderung in Zeile 167:
Delphi-Quellcode:
Deutlich zu sehen ist hier, dass das Flag ES_PASSWORD beim Erstellen gesetzt wird. In dem entsprechendem Anhang kann man sehen, dass das Ergebnis mit dem von Windows XP übereinstimmt.
... WS_VISIBLE or WS_CHILD or ES_NOHIDESEL or ES_PASSWORD,10,20,400,20,wnd, ...
VCL Stammt von mir selbst und ist nur ein kleines Testprojekt. Das benutzte Edit hat die Schrift Tahoma und das PasswordChar #149. Man kann deutlich erkennen, dass dies nicht der Passworteingabe von XP enstpricht :( Mein Frage lautet dementsprechend wie oben: Wie schaff ich es mein Edit für die Passworteingabe so zu gestaleten, wie bei XP? so far GimbaR |
Re: Punkte satt Striche im PW-Feld in VCL mit Manifest
Habe im Internet Hinweise dazu gefunden, dass der Stil ES_PASSWORD bei aktivierten Themes von Windows entsprechend abgefangen wird - für die Schriftart ist also der visuelle Stil verantwortlich.
Eventuell hilft das PasswordChar "*" (kann ich jetzt nicht ausprobieren), oder nimm das JvEdit - das sollte das können. ![]() |
Re: Punkte satt Striche im PW-Feld in VCL mit Manifest
Du musst deiner Anwendung noch ein Manifest hinzufügen, dann sollte es gehen.
|
Re: Punkte satt Striche im PW-Feld in VCL mit Manifest
Zitat:
Aber ich werde mir mal den Link von Flocke anschauen. so far GimbaR |
Re: Punkte satt Striche im PW-Feld in VCL mit Manifest
Liste der Anhänge anzeigen (Anzahl: 1)
Sooo, ich habe mir mal den Link von Flocke zu Gemüte geführt und eine Komponente aus dem
![]() Wie sieht das eigentlich rechtlich aus, darf ich die Komponente hier als Anhang zur Verfügung stellen oder muss ich mir die Genehmigung des Autors einholen? Ich werde dies vorerst tun, da der SourceCode ja öffentlich ist. Sollte ich dies aber nich dürfen, werde ich den Anhang sofort löschen *IndianerEhrenWort* :) Axo, das ganze funktioniert natürlich nur mit Manifest... Aber bis hierhin ein großes DANKESCHÖN :love: :dp: so far GimbaR PS: Und jezz werde ich mal den X-Mas-Smile missbrauchen um anzudeuten, dass ich jezz schlafen gehe :xmas: :xmas: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz