📄 logondialog.cpp
字号:
// LogonDialog.cpp : implementation file
//
#include "stdafx.h"
#include "TestApp.h"
#include "LogonDialog.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CLogonDialog dialog
CLogonDialog::CLogonDialog(CWnd* pParent /*=NULL*/)
: CDialog(CLogonDialog::IDD, pParent)
{
//{{AFX_DATA_INIT(CLogonDialog)
m_password = _T("");
m_userid = _T("");
m_pSetAdmin=NULL; //初始化记录集指针
m_pSetTeacher=NULL; //初始化记录集指针
//}}AFX_DATA_INIT
}
void CLogonDialog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CLogonDialog)
DDX_Control(pDX, IDC_EDIT_USERID, m_objuserid);
DDX_Control(pDX, IDC_EDIT_PASSWORD, m_objpassword);
DDX_Control(pDX, IDC_COMBO_STATUS, m_status);
DDX_Text(pDX, IDC_EDIT_PASSWORD, m_password);
DDX_Text(pDX, IDC_EDIT_USERID, m_userid);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CLogonDialog, CDialog)
//{{AFX_MSG_MAP(CLogonDialog)
ON_BN_CLICKED(ID_BUTTON_CANCEL, OnButtonCancel)
ON_BN_CLICKED(ID_BUTTON_OK, OnButtonOk)
ON_WM_DESTROY()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CLogonDialog message handlers
BOOL CLogonDialog::OnInitDialog()
{
CDialog::OnInitDialog();
//创建记录集指针,打开记录集
m_pSetAdmin=new CSysUserSet(NULL);
m_pSetAdmin->Open();
m_pSetTeacher=new CTeacherSet(NULL);
m_pSetTeacher->Open();
m_status.SetCurSel(0);//设置默认身份
return TRUE;
}
void CLogonDialog::OnCancel()
{
EndDialog(0);//关闭对话框,返回0,停止启动系统
}
void CLogonDialog::OnButtonCancel()
{
EndDialog(0);//关闭对话框,返回0,停止启动系统
}
void CLogonDialog::OnOK()
{
OnButtonOk();//检验登录信息是否正确
}
void CLogonDialog::OnButtonOk()
{
UpdateData(true);//将对话框数据传入变量
if(m_userid=="")
{
MessageBox("请输入用户ID!","用户登录");
m_objuserid.SetFocus();
return;
}
CString status;
m_status.GetWindowText(status);//获得用户身份
//根据用户身份检验登录信息
if("管理员"==status)
{
m_pSetAdmin->m_strFilter="userid='"+m_userid+"'";
m_pSetAdmin->Requery();//查找系统用户记录
if(m_pSetAdmin->IsBOF() && m_pSetAdmin->IsEOF())
{
//无用户记录,登录ID错误
MessageBox("用户ID错误!","用户登录");
m_objuserid.SetFocus();
return;
}else{
//检查口令是否正确
if(m_pSetAdmin->m_password!=m_password){
MessageBox("口令错误!","用户登录");
m_objpassword.SetFocus();
return;
}
}
}
if("教师"==status)
{
m_pSetTeacher->m_strFilter="name='"+m_userid+"'";
m_pSetTeacher->Requery();//查找系统用户记录
if(m_pSetTeacher->IsBOF() && m_pSetTeacher->IsEOF())
{
//无用户记录,登录ID错误
MessageBox("用户ID错误!","用户登录");
m_objuserid.SetFocus();
return;
}else{
//检查口令是否正确
if(m_pSetTeacher->m_password!=m_password){
MessageBox("口令错误!","用户登录");
m_objpassword.SetFocus();
return;
}
}
}
//登录信息正确,保存当前用户信息
((CTestAppApp*)AfxGetApp())->CurrentUserName=m_userid;
((CTestAppApp*)AfxGetApp())->CurrentUserPWD=m_password;
((CTestAppApp*)AfxGetApp())->CurrentUserStatus=status;
//关闭对话框,返回1,允许继续启动系统
EndDialog(1);
}
void CLogonDialog::OnDestroy()
{
//删除记录集指针
delete m_pSetAdmin;
delete m_pSetTeacher;
CDialog::OnDestroy();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -