📄 teacherdlg.cpp
字号:
// TeacherDlg.cpp : implementation file
//
#include "stdafx.h"
#include "gpmis.h"
#include "TeacherDlg.h"
#include "MainFrm.h"
#include "global.h"
#include "teacher.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CTeacherDlg dialog
extern CGPMISApp theApp;
CTeacherDlg::CTeacherDlg(CWnd* pParent /*=NULL*/, const CString& sUsername)
: CDialog(CTeacherDlg::IDD, pParent)
{
m_strUsername = sUsername;
if( m_strUsername == "" )
m_bNew = TRUE;
else
m_bNew = FALSE;
//{{AFX_DATA_INIT(CTeacherDlg)
m_strPassword = _T("");
m_strPhone = _T("");
m_strEMail = _T("");
//}}AFX_DATA_INIT
m_bPassword = FALSE;
}
void CTeacherDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CTeacherDlg)
DDX_Control(pDX, IDCANCEL, m_btnCancel);
DDX_Control(pDX, IDOK, m_btnOK);
DDX_Control(pDX, IDC_TITLE, m_cmbTitle);
DDX_Control(pDX, IDC_SEX, m_cmbSex);
DDX_Control(pDX, IDC_EXPERIENCE, m_cmbExperience);
DDX_Control(pDX, IDC_PASSWORD, m_edtPassword);
DDX_Control(pDX, IDC_USERNAME, m_edtUsername);
DDX_Text(pDX, IDC_PASSWORD, m_strPassword);
DDX_Text(pDX, IDC_USERNAME, m_strUsername);
DDX_Text(pDX, IDC_PHONE, m_strPhone);
DDX_Text(pDX, IDC_EMAIL, m_strEMail);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CTeacherDlg, CDialog)
//{{AFX_MSG_MAP(CTeacherDlg)
ON_EN_CHANGE(IDC_PASSWORD, OnChangePassword)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CTeacherDlg message handlers
BOOL CTeacherDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
HICON hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
SetIcon(hIcon, TRUE); // Set big icon
SetIcon(hIcon, FALSE);// Set small icon
CString exp_key[] = { "G", "S", "X" ,"\0" };
CString key;
CString value;
CString strTemp;
m_edtUsername.SetWindowText(m_strUsername);
for(int i = 0; i < 3 ;i++)
{
key = exp_key[i];
if( CGlobal::GetInstance().m_ExperienceMap.Lookup(key,value) )
{
strTemp.Format("%s:%s", exp_key[i], value);
m_cmbExperience.AddString(strTemp);
}
}
for(i = 1; i <= 10 ;i++)
{
key.Format("%d",i);
if( CGlobal::GetInstance().m_TitleMap.Lookup(key,value) )
{
m_cmbTitle.AddString(value);
}
}
if( m_bNew )
{
m_cmbExperience.SetCurSel(1);
m_cmbTitle.SetCurSel(2);
m_cmbSex.SetCurSel(0);
m_btnOK.SetWindowText("添加");
m_btnCancel.SetWindowText("关闭");
}
else
{
m_edtUsername.EnableWindow(FALSE);
CTeacher* pTeacher = CGlobal::GetInstance().FindTeacher(m_strUsername);
if( pTeacher )
{
for(i = 0; i < 2 ;i++)
{
m_cmbSex.GetLBText(i, strTemp);
if( strTemp == pTeacher->GetSex() )
{
m_cmbSex.SetCurSel(i);
break;
}
}
m_cmbExperience.SetCurSel(1);
for(i = 0; i < 3 ;i++)
{
m_cmbExperience.GetLBText(i, strTemp);
if( pTeacher->GetExperience() != "" && strTemp.GetAt(0) == pTeacher->GetExperience().GetAt(0) )
{
m_cmbExperience.SetCurSel(i);
break;
}
}
m_cmbTitle.SetCurSel(pTeacher->GetTitleID()-1);
m_strPassword = "123456" ;
m_strPhone = pTeacher->GetPhone();
m_strEMail = pTeacher->GetEMail();
UpdateData(FALSE);
}
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CTeacherDlg::OnOK()
{
// TODO: Add extra validation here
UpdateData();
if( m_strEMail != "" && m_strEMail.Find("@") <= 0 )
{
AfxMessageBox("邮箱地址错误!", MB_OK|MB_ICONSTOP);
return;
}
CTeacher* pTeacher = NULL;
if( m_bNew )
{
pTeacher = new CTeacher();
}
else
{
pTeacher = CGlobal::GetInstance().FindTeacher(m_strUsername);
if( !pTeacher )
{
pTeacher = new CTeacher();
}
}
pTeacher->SetName(m_strUsername);
CString strSex;
m_cmbSex.GetLBText(m_cmbSex.GetCurSel(), strSex);
pTeacher->SetSex(strSex);
CString strExp;
m_cmbExperience.GetLBText(m_cmbExperience.GetCurSel(), strExp);
strExp = strExp.Left(1);
pTeacher->SetExperience(strExp);
if( m_bPassword || m_bNew )
pTeacher->SetPassword(m_strPassword);
pTeacher->SetPhone(m_strPhone);
pTeacher->SetEMail(m_strEMail);
pTeacher->SetTitleID(m_cmbTitle.GetCurSel()+1);
if( m_bNew )
CTeacher::Create(*pTeacher);
else
CTeacher::Update(*pTeacher);
CDialog::OnOK();
}
void CTeacherDlg::OnChangePassword()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here
m_bPassword = TRUE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -