Здравствуйте, IvanIV, Вы писали:
IIV>а вот как мне уйти от UpdateData не могу знать...
IIV>на данный момент все работает так как мне надо, но в качестве общего развития хотелось бы увидеть код без использования UpdateData.
IIV>Еще раз спасибо за инфу.
Пример кода:
H - file
class CMyDialog : public CDialog
{
// Construction
public:
CMyDialog(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CMyDialog)
enum { IDD = IDD_MY_DLG };
CEdit m_PswdEdit;
//}}AFX_DATA
private:
CString m_strPasswordStat; //ЗДЕСЬ ТВОЙ ПОСТОЯННЫЙ ПАРОЛЬ ДЛЯ ПРОВЕРОК
//.......................... И Т.Д.
};
CPP - file
BOOL CMyDialog::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_strPasswordStat = "MyPassword12345"; //ЗДЕСЬ ИНИЦИАЛИЗИРУЕШЬ КОННТРОЛЬНЫЙ ТЕКСТ
//m_PswdEdit.ModifyStyle(PASSWORD);// НЕ ЗАБУДЬ ЗАДАТЬ СТИЛЬ PASSWORD (В РЕСУРСЕ)
return TRUE;
}
void CMyDialog::OnChangeEditTest()
{
CString strTmp; //create temp. string, only for checking
m_PswdEdit.GetWindowText(strTmp); //ИЗВЛЕКАЕШЬ ТЕКСТ ВО ВРЕМЕННЫЙ(!) БУФФЕР
if (strTmp == m_strPasswordStat)
{
//УСЛОВИЕ ВЫПОЛНИЛОСЬ
}
else
{
// НЕ ВЫПОЛНИЛОСЬ
}
}
Примерно вот так. UpdateData уже не используется у нас. Замечание еще одно — если твоя контрольноя строка действительно нужна для проверки пароля, то ее нужно криптовать, и нельзя пихать открытым способом. Так, на всякий случай...