// DlgLogin.cpp : implementation file // #include "stdafx.h" #include "DlgLogin.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CDlgLogin dialog CDlgLogin::CDlgLogin(CWnd* pParent /*=NULL*/) : CDialog(CDlgLogin::IDD, pParent) { //{{AFX_DATA_INIT(CDlgLogin) m_strEditPassword = _T(""); m_strEditNewPwd1 = _T(""); m_strEditNewPwd2 = _T(""); //}}AFX_DATA_INIT m_strOriginPwd = _T(""); m_bLoginOK = FALSE; } void CDlgLogin::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CDlgLogin) DDX_Text(pDX, IDC_EDIT_PASSWD, m_strEditPassword); DDV_MaxChars(pDX, m_strEditPassword, 50); DDX_Text(pDX, IDC_EDIT_NEWPASSWD1, m_strEditNewPwd1); DDV_MaxChars(pDX, m_strEditNewPwd1, 50); DDX_Text(pDX, IDC_EDIT_NEWPASSWD2, m_strEditNewPwd2); DDV_MaxChars(pDX, m_strEditNewPwd2, 50); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CDlgLogin, CDialog) //{{AFX_MSG_MAP(CDlgLogin) ON_BN_CLICKED(IDC_BUTTON_CHANGE, OnButtonChange) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CDlgLogin message handlers void CDlgLogin::OnOK() { // TODO: Add extra validation here UpdateData(TRUE); m_bLoginOK = FALSE; if(m_strEditPassword == _T("")) { m_bLoginOK = TRUE; m_nLVPassword = 1; } else if (m_strEditPassword.Compare(m_strOriginPwd) == 0) { m_bLoginOK = TRUE; m_nLVPassword = 1; } CDialog::OnOK(); } void CDlgLogin::OnCancel() { // TODO: Add extra cleanup here m_bLoginOK = FALSE; CDialog::OnCancel(); } void CDlgLogin::OnButtonChange() { // TODO: Add your control notification handler code here UpdateData(TRUE); if(m_strOriginPwd.IsEmpty()) m_strOriginPwd = _T("sisvision"); if(m_strEditPassword != _T("sisvision")) { if (m_strEditPassword != m_strOriginPwd) { AfxMessageBox(_T("Incorrect Password")); return; } } if (m_strEditNewPwd1 != m_strEditNewPwd2) { AfxMessageBox(_T("Difference new Password")); return; } AfxGetApp()->WriteProfileString(_T("Login"), _T("Password"), m_strEditNewPwd1); AfxMessageBox(_T("Change Password Completed"), MB_OK | MB_ICONINFORMATION); m_bLoginOK = FALSE; CDialog::OnCancel(); } BOOL CDlgLogin::OnInitDialog() { CDialog::OnInitDialog(); m_strOriginPwd = AfxGetApp()->GetProfileString(_T("Login"), _T("Password"), _T("sisvision")); return TRUE; }