2010-02-05 42 views
1

我正在使用下面的代碼來彈出身份驗證對話框。我想在我的代碼中對密碼進行硬編碼並使其成爲只讀文本框。我該怎麼辦?如何在C++中對texbox中的值進行硬編碼

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 

回答

3

如果您使用該控件的關鍵字,而不是EDITTEXT關鍵字你得到了各個領域的全面控制,使用

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

,而不是

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

從內存:

HWND hwnd = ...//handle to the dialog 
::SetDlgItemText(hwnd, IDC_STATIC_PASSWD, "YourText"); 
::EnableWindow(::GetDlgItem(hwnd, IDC_STATIC_PASSWD), FALSE); 
相關問題