📄 usermanagedlg.cpp
字号:
// UserManageDlg.cpp : implementation file
//
#include "stdafx.h"
#include "winbdc.h"
#include "UserManageDlg.h"
#include "User.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CUserManageDlg dialog
CUserManageDlg::CUserManageDlg(CWnd* pParent /*=NULL*/)
: CDialog(CUserManageDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CUserManageDlg)
m_OldPassWord = _T("");
m_NewPassWord = _T("");
m_ReInput = _T("");
//}}AFX_DATA_INIT
m_pMainDlg = (CWinBDCDlg *)AfxGetMainWnd();
m_bIsAdmin = false;
}
void CUserManageDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CUserManageDlg)
DDX_Text(pDX, IDC_EDIT2, m_OldPassWord);
DDV_MaxChars(pDX, m_OldPassWord, 12);
DDX_Text(pDX, IDC_EDIT3, m_NewPassWord);
DDV_MaxChars(pDX, m_NewPassWord, 12);
DDX_Text(pDX, IDC_EDIT4, m_ReInput);
DDV_MaxChars(pDX, m_ReInput, 12);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CUserManageDlg, CDialog)
//{{AFX_MSG_MAP(CUserManageDlg)
ON_LBN_SELCHANGE(IDC_LIST1, OnSelchangeList1)
ON_BN_CLICKED(IDC_RADIO1, OnRadio1)
ON_BN_CLICKED(IDC_RADIO2, OnRadio2)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CUserManageDlg message handlers
BOOL CUserManageDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_pListBox = (CListBox *)GetDlgItem(IDC_LIST1);
CUser *pUser = NULL;
for(int i=0; i<m_pMainDlg->m_UserList.GetCount(); i++)
{
pUser = m_pMainDlg->m_UserList.GetAt(m_pMainDlg->m_UserList.FindIndex(i));
m_pListBox->AddString(pUser->m_UserName);
if(pUser->m_bIsMe == true)
m_pUser = pUser;
}
int nIndex = m_pListBox->FindString(0, m_pUser->m_UserName);
m_pListBox->SetCurSel(nIndex);
OnSelchangeList1();
GetDlgItem(IDC_EDIT1)->EnableWindow(false);
if(m_pUser->m_Group.Compare("Guest") == 0)
{
m_bIsAdmin = false;
GetDlgItem(IDC_LIST1)->EnableWindow(false);
GetDlgItem(IDC_RADIO1)->EnableWindow(false);
GetDlgItem(IDC_RADIO2)->EnableWindow(false);
}
else
{
m_bIsAdmin = true;
}
m_FilePath = ((CWinBDCDlg *)AfxGetMainWnd())->m_FilePath;
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CUserManageDlg::OnSelchangeList1()
{
// TODO: Add your control notification handler code here
int nIndex = m_pListBox->GetCurSel();
CUser *pUser = NULL;
CString str;
m_pListBox->GetText(nIndex, str);
for(int i=0; i<m_pMainDlg->m_UserList.GetCount(); i++)
{
pUser = m_pMainDlg->m_UserList.GetAt(m_pMainDlg->m_UserList.FindIndex(i));
if(pUser->m_UserName == str)
{
m_pUser = pUser;
GetDlgItem(IDC_EDIT2)->EnableWindow(pUser->m_bIsMe);
GetDlgItem(IDC_EDIT3)->EnableWindow(pUser->m_bIsMe);
GetDlgItem(IDC_EDIT4)->EnableWindow(pUser->m_bIsMe);
GetDlgItem(IDC_RADIO1)->EnableWindow(!pUser->m_bIsMe);
GetDlgItem(IDC_RADIO2)->EnableWindow(!pUser->m_bIsMe);
break;
}
}
((CEdit *)GetDlgItem(IDC_EDIT1))->SetWindowText(pUser->m_UserName);
((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(pUser->m_Group.Compare("Administrator") == 0);
((CButton *)GetDlgItem(IDC_RADIO2))->SetCheck(pUser->m_Group.Compare("Guest") == 0);
}
void CUserManageDlg::OnOK()
{
// TODO: Add extra validation here
UpdateData();
if(m_bIsAdmin == false)
{
if(m_pUser->m_PassWord == m_OldPassWord)
{
if(m_NewPassWord.GetLength() != 0)
{
if(m_NewPassWord == m_ReInput)
{
m_pUser->m_PassWord = m_NewPassWord;
}
else
{
MessageBox("两次输入的密码不相同!");
}
}
else
{
MessageBox("新密码不能为空!");
}
}
else
{
MessageBox("您输入的密码不正确!");
}
}
else
{
if(m_pUser->m_bIsMe)
{
if(m_pUser->m_PassWord == m_OldPassWord)
{
if(m_NewPassWord.GetLength() != 0)
{
if(m_NewPassWord == m_ReInput)
{
m_pUser->m_PassWord = m_NewPassWord;
}
else
{
MessageBox("两次输入的密码不相同!");
}
}
else
{
MessageBox("新密码不能为空!");
}
}
else
{
MessageBox("您输入的密码不正确!");
}
}
}
CDialog::OnOK();
}
void CUserManageDlg::OnRadio1()
{
// TODO: Add your control notification handler code here
m_pUser->m_Group.Format("%s", "Administrator");
}
void CUserManageDlg::OnRadio2()
{
// TODO: Add your control notification handler code here
m_pUser->m_Group.Format("%s", "Guest");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -