Re[3]: обработчик текста
От: Kiper Израиль  
Дата: 15.01.09 13:10
Оценка:
Здравствуйте, 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 уже не используется у нас. Замечание еще одно — если твоя контрольноя строка действительно нужна для проверки пароля, то ее нужно криптовать, и нельзя пихать открытым способом. Так, на всякий случай...
Жизненный опыт похож на выигрышную лотерею, купленную после тиража.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.