⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 teacherdlg.cpp

📁 我上载了那么多怎么都说已经有上载的啦
💻 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 + -