📄 logindlg.cpp
字号:
// LoginDlg.cpp : implementation file
//
#include "stdafx.h"
#include "ClassSystem.h"
#include "LoginDlg.h"
#include "ManagerList.h"
#include "ManagerNode.h"
#include "ManagerFrameDlg.h"
#include "UserList.h"
#include "UserFrameDlg.h"
extern CUserList userlist;
extern CManagerList managerlist;
extern CManagerNode curManager;
extern CUserNode curUser;
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CLoginDlg dialog
CLoginDlg::CLoginDlg(CWnd* pParent /*=NULL*/)
: CDialog(CLoginDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CLoginDlg)
m_ManagerName = _T("");
m_password = _T("");
m_bIsManager = -1;
//}}AFX_DATA_INIT
}
void CLoginDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CLoginDlg)
DDX_Text(pDX, IDC_EDIT_LOGINID, m_ManagerName);
DDX_Text(pDX, IDC_EDIT_LOGINPSW, m_password);
DDX_Radio(pDX, IDC_RADIO_USER, m_bIsManager);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CLoginDlg, CDialog)
//{{AFX_MSG_MAP(CLoginDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CLoginDlg message handlers
void CLoginDlg::OnOK()
{
// TODO: Add extra validation here
UpdateData(TRUE);
//检验数据的有效性
if(m_ManagerName == "")
{
MessageBox("Please enter your ID!!!" );
return ;
}
if(m_password == "")
{
MessageBox("Please enter your password!!!");
return ;
}
if(m_bIsManager == -1)
{
MessageBox("Please choose your login type!!");
return ;
}
//根据登陆类型激活不同操作界面
if(m_bIsManager == 1)// 1为管理员界面,0为一般用户界面
{
if(managerlist.find(m_ManagerName,curManager))//存在该用户
{
if( curManager.m_password!=m_password )
{
MessageBox("密码错误,核对后重新输入");
return ;
}
CManagerFrameDlg dlg;
dlg.DoModal();
}
else
{
MessageBox("不存在该用户,请核对后重新登陆");
return;
}
}
else if(m_bIsManager == 0)//激活一般用户界面
{
if(!userlist.find(m_ManagerName,curUser))
{
MessageBox("不存在该用户");
return;
}
else
{
if(curUser.m_password != m_password)
{
MessageBox("密码错误,请核对后重新输入");
return ;
}
CUserFrameDlg dlg;
dlg.DoModal();
}
}
CDialog::OnOK();
}
void CLoginDlg::OnCancel()
{
// TODO: Add extra cleanup here
exit(1);
CDialog::OnCancel();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -