2010-02-05 11 views
1

J'utilise le code ci-dessous pour faire apparaître la boîte de dialogue d'authentification. Je veux coder en dur le mot de passe dans mon code et en faire une zone de texte en lecture seule. Que devrais-je faire?Comment coder en dur une valeur dans une texbox en C++

IDD_LOGIN_AUTH_DIALOG DIALOG DISCARDABLE 0, 0, 148, 82 
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU 
CAPTION "Authentication" 
FONT 8, "MS Shell Dlg" 
BEGIN 
LTEXT   "Host:",IDC_STATIC_HOST,7,8,36,10,SS_CENTERIMAGE | 
       NOT WS_GROUP 

EDITTEXT  IDC_VNCHOST,46,7,95,12,ES_AUTOHSCROLL | ES_READONLY | 
       NOT WS_TABSTOP 

CONTROL   108,IDC_STATIC_LOGO,"Static",SS_BITMAP,7,23,32,30 

RTEXT   "User name:",IDC_STATIC_LOGIN,41,25,39,10,SS_CENTERIMAGE 

EDITTEXT  IDC_LOGIN_EDIT,84,24,57,12,ES_AUTOHSCROLL 

RTEXT   "Password:",IDC_STATIC_PASSWD,41,42,39,10,SS_CENTERIMAGE 

EDITTEXT  IDC_PASSWD_EDIT,84,41,57,12,ES_PASSWORD | ES_READONLY | 

       NOT WS_TABSTOP 

DEFPUSHBUTTON "&OK",IDOK,20,61,50,14 

PUSHBUTTON  "&Cancel",IDCANCEL,77,61,50,14 

END 
+2

Hardcore le mot de passe? Est-ce que cela en ferait un mot de passe pour un site pour adultes? – Aaronaught

Répondre

3

Vous obtenez un contrôle total sur tous les champs si vous utilisez le mot clé de contrôle plutôt que le mot-clé EDITTEXT, utilisez

CONTROL  "mypassword", IDC_PASSWD_EDIT, "Edit", 
      ES_LEFT | WS_BORDER | ES_PASSWORD | ES_READONLY, 
      84,41,57,12 

au lieu de

EDITTEXT IDC_PASSWD_EDIT,84,41,57,12,ES_PASSWORD | ES_READONLY | NOT WS_TABSTOP 
0

De mémoire:

HWND hwnd = ...//handle to the dialog 
::SetDlgItemText(hwnd, IDC_STATIC_PASSWD, "YourText"); 
::EnableWindow(::GetDlgItem(hwnd, IDC_STATIC_PASSWD), FALSE); 
Questions connexes