2012-04-19 2 views
1

J'ai créé deux wxTextCtrl. Un pour la connexion (loginTxt) et un autre pour le mot de passe (pwdTxt) et les deux ont un message par défaut lisible.Définition de wxTE_PASSWORD plus tard

I événement wxEVT_LEFT_DOWN également installé de sorte que lorsque l'utilisateur clique sur chaque loginTxt ou pwdTxt le message par défaut sera réglé sur une chaîne vide

Est-il possible de définir le style wxTE_PASSWORD au pwdTxt plus tard? Si c'est possible, comment puis-je faire ça?

je lis wx.chm et dire,

« Notez que les styles d'alignement (wxTE_LEFT, wxTE_CENTRE et wxTE_RIGHT) peut être modifiée après la création de contrôle sur wxMSW et wxGTK. WxTE_READONLY, wxTE_PASSWORD et styles d'emballage peuvent être dynamiquement changé sous wxGTK mais pas wxMSW Les autres styles peuvent uniquement être définis lors de la création du contrôle. ".

Je vous écris mon application sur MS Windows avec wxWidgets 2.9.3

Répondre

1

Vous ne pouvez pas le modifier ultérieurement sous Windows, puisque le contrôle de Microsoft ne supporte pas. Si vous en avez vraiment besoin, je suggère de créer 2 contrôles différents et d'afficher/masquer le contrôle approprié.

0

solution Windows uniquement, sera probablement utile:

void Sample::OnBUTTONClick(wxCommandEvent& event) 
{ 
#if defined(__WXMSW__) 
    HWND hWnd = (HWND)m_Text->GetHandle(); 
    SendMessage(hWnd, EM_SETPASSWORDCHAR, 0x25cf, 0); // 0x25cf is ● character 
    m_Text->Update(); 
#endif 
} 
Questions connexes