Editbox Format Eigenschaften



  • Hallo alle zusammen,

    ich hoffe Ihr könnt mir helfen.
    Ich Habe folgendes Problem.
    Ich habe eine Editbox (Eingabefeld) und möcht diese mit der Option Kennwort(dann werden alle zeichen in dieser Box als * dargestellt) ausstatten.
    Dies Funktioniert auch ohne Probmleme wenn ich die Option Kennwort über [Rechte Maustaste]auf die Editbox [Eigenschaften] [Formate] einschalte.
    Nun ändert Visual Studio die Option in der Resource Datei und wenn ich das Programm neu kompeliere wird die Editbox nurnoch mit * gefüllt.
    Mein Problem ist nun das ich diese Option über einen Button im Dialog ein und aus schalten will. Leider finde ich aber keine Möglichkeit diese Eigenschaft der Editbox anzusprechen bzw. zu ändern.

    Vielen dank im Voraus

    Tschernonoll



  • Ich glaube das geht mit ModifyStyle() und ES_PASSWORD ...

    MSDN
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_mfc_cwnd.3a3a.modifystyle.asp

    Gruß
    :: NoName ::



  • Das geht mit der Funktion SetPasswordChar(). Übergebe ihr einfach 0, um das Passwortfeld wieder lesbar zu machen. Um dann das Eingabefeld wieder zum Passwortfeld zu machen, übergebe der Funktion '*' oder welche Zeichen du auch immer als Platzhalter für den Inhalt des Eingabefelds haben möchtest. Angenommen du hast eine Control Variable für das Eingabefeld mit dem Namen m_ctlEdit1 dann geht das so:

    void CPasswortfeldDlg::OnButton1()   // Eingabefeld = Passwortfeld
    {
        // Alle eingegebenen Zeichen in * umwandeln
        m_ctlEdit1.SetPasswordChar('*');
    
        // Eingabefeld aktualisieren
        RedrawWindow();
    }
    
    void CPasswortfeldDlg::OnButton2()   // Eingabefeld = normal lesbar
    {
        // Passwort anzeigen
        m_ctlEdit1.SetPasswordChar(0);
    
        // Eingabefeld aktualisieren
        RedrawWindow();
    }
    

    __________________
    www.coding-help.de


Anmelden zum Antworten