CEdit-Feld als Kennwort-Feld aus Pgm deklarieren
-
Hallo,
ich würde gerne wissen, wie man ein CEdit-Feld aus dem Pgm. als Kennwort deklrarieren kann, d.h ich möchte gerne in meinem Pgm ein Button auf dem Dialog einbauen, welches mir beim Druck darauf, das Passwort in einem Textfeld anzeigen und beim weiteren Klick wieder verschwinden lässt, also als **********
gruss,
chullain
-
Ich habe gerade mal in die MSDN geguckt (CEdit::SetPasswordChar) und das gefunden:
// The pointer to my edit. extern CEdit* pmyEdit; // Turn off the password mode. pmyEdit->SetPasswordChar(0); ASSERT(!(pmyEdit->GetStyle() & ES_PASSWORD));
-
ok, Du hast Recht, danke Dir, bin auch auf diese Methode grade gestossen, hab sie auch gleich ausprobiert, jedoch bekomme ich ein Problem...
...folgendes habe ich in mein Pgm eingebaut...
void CDBPflege::OnSAPWAendern() { if (((CEdit*)GetDlgItem(IDC_EDIT24))->GetPasswordChar()=='*') ((CEdit*)GetDlgItem(IDC_EDIT24))->SetPasswordChar(0); else ((CEdit*)GetDlgItem(IDC_EDIT24))->SetPasswordChar('*'); }
...wenn ich jetzt das Pgm "normal" laufen lasse, funktioniert der Button auf dem Dialog nicht und mein Feld wird nicht geändert, aber wenn ich jetzt das Pgm debugge und davor ein Breakpoint setzte und das Schritt für Schritt durchgehe, sehe ich auch die Änderungen, die gemacht werden, d.h., das Feld wird dann auch je nach Fall auf Kennwort oder kein Kennwort gesetzt...
...das Pgm lasse ich auch beim jeden Druck auf den Knopf komplett im Debug-Modus durchlaufen, so dass ich mir auch sicher bin, dass es nicht doch irgendwo in dem Pgm an einer anderen Stelle die Änderung wieder rückgängig gemacht wird...
-
Kann es sein, dass das Edit zum Neuzeichnen gezwungen werden muss?
Lass es mal so laufen, dass du keinen Erfolg siehst (also ohne Breakpoint) und dann legst du kurz ein anderes Programm in den Vordergrund und dann wieder deins.
Verstanden wie ich meine?
-
cool, danke, so funktionert es, hab jetzt noch ein RedrawWindow() eingebaut, aber warum ist das so?
-
Frag mich was leichteres, aber irgendwie kam mir die Fehlerbeschreibung bekannt vor.