📄 teacherinfo.cpp
字号:
// TeacherInfo.cpp : implementation file
//
#include "stdafx.h"
#include "EduAdministration.h"
#include "TeacherInfo.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CTeacherInfo dialog
CTeacherInfo::CTeacherInfo(CWnd* pParent /*=NULL*/)
: CDialog(CTeacherInfo::IDD, pParent)
{
//{{AFX_DATA_INIT(CTeacherInfo)
m_code = _T("");
m_contact = _T("");
m_name = _T("");
m_title = _T("");
//}}AFX_DATA_INIT
}
void CTeacherInfo::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CTeacherInfo)
DDX_Control(pDX, IDC_EDTTITLE, m_ctlTitle);
DDX_Control(pDX, IDC_EDTNAME, m_ctlName);
DDX_Control(pDX, IDC_EDTCONTACT, m_ctlContact);
DDX_Control(pDX, IDC_EDTCODE, m_ctlCode);
DDX_Control(pDX, IDC_LIST1, m_teaList);
DDX_Control(pDX, IDC_BTNNEW, m_btnNew);
DDX_Control(pDX, IDC_BTNEDIT, m_btnEdit);
DDX_Control(pDX, IDC_BTNDELETE, m_btnDelete);
DDX_Text(pDX, IDC_EDTCODE, m_code);
DDX_Text(pDX, IDC_EDTCONTACT, m_contact);
DDX_Text(pDX, IDC_EDTNAME, m_name);
DDX_Text(pDX, IDC_EDTTITLE, m_title);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CTeacherInfo, CDialog)
//{{AFX_MSG_MAP(CTeacherInfo)
ON_BN_CLICKED(IDC_BTNNEW, OnBtnnew)
ON_BN_CLICKED(IDC_BTNEDIT, OnBtnedit)
ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)
ON_BN_CLICKED(IDC_BTNDELETE, OnBtndelete)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CTeacherInfo message handlers
BOOL CTeacherInfo::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_btnDelete.SetIcon(IDI_ICONDELETE);
m_btnNew.SetIcon(IDI_ICONNEW);
m_btnEdit.SetIcon(IDI_ICONEDIT);
m_bAddMode = false;
m_bEditMode = false;
m_teaList.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
m_teaList.InsertColumn(0,"教师代码",LVCFMT_LEFT,100);
m_teaList.InsertColumn(1,"教师姓名",LVCFMT_LEFT,100);
m_teaList.InsertColumn(2,"职称",LVCFMT_LEFT,90);
m_teaList.InsertColumn(3,"联系方式",LVCFMT_LEFT,100);
setTeaList();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CTeacherInfo::OnBtnnew()
{
// TODO: Add your control notification handler code here
if(!m_bAddMode)
{
setFieldReadWrite();
setFieldNull();
m_btnNew.SetIcon(IDI_ICONSAVE);
m_btnEdit.EnableWindow(false);
m_btnDelete.EnableWindow(false);
m_bAddMode = true;
}
else
{
UpdateData();
if(m_name == ""){
AfxMessageBox("请输入教师姓名");
m_ctlName.SetFocus();
return;
}
if(m_code == ""){
AfxMessageBox("请输入教师代码");
m_ctlCode.SetFocus();
return;
}
m_pTeachers = new CTeachers();
if(!m_pTeachers->IsOpen())
m_pTeachers->Open();
m_pTeachers->m_strFilter.Format("teaID='%s'",m_code);
m_pTeachers->Requery();
if(!m_pTeachers->IsEOF()){
AfxMessageBox("此代码已存在");
m_pTeachers->Close();
delete m_pTeachers;
m_ctlCode.SetFocus();
return;
}
m_pTeachers->AddNew();
m_pTeachers->m_teaID = m_code;
m_pTeachers->m_teaName = m_name;
m_pTeachers->m_teaTitle = m_title;
m_pTeachers->m_contact = m_contact;
m_pTeachers->Update();
m_pTeachers->Close();
delete m_pTeachers;
int i = m_teaList.GetItemCount();
m_teaList.InsertItem(i,m_code);
m_teaList.SetItemText(i,1,m_name);
m_teaList.SetItemText(i,2,m_title);
m_teaList.SetItemText(i,3,m_contact);
// AfxMessageBox("操作完成");
setFieldReadOnly();
m_btnDelete.EnableWindow(true);
m_btnNew.SetIcon(IDI_ICONNEW);
m_btnEdit.EnableWindow(true);
m_bAddMode = false;
}
}
void CTeacherInfo::setFieldNull()
{
m_name = "";
m_code = "";
m_contact = "";
m_title = "";
UpdateData(false);
}
void CTeacherInfo::setFieldReadOnly()
{
m_ctlCode.SetReadOnly(true);
m_ctlContact.SetReadOnly(true);
m_ctlName.SetReadOnly(true);
m_ctlTitle.SetReadOnly(true);
}
void CTeacherInfo::setFieldReadWrite()
{
m_ctlCode.SetReadOnly(false);
m_ctlName.SetReadOnly(false);
m_ctlTitle.SetReadOnly(false);
m_ctlContact.SetReadOnly(false);
}
void CTeacherInfo::setTeaList()
{
m_teaList.DeleteAllItems();
m_pTeachers = new CTeachers();
if(!m_pTeachers->IsOpen())
m_pTeachers->Open();
int i=0;
while (!m_pTeachers->IsEOF())
{
m_teaList.InsertItem(i,m_pTeachers->m_teaID);
m_teaList.SetItemText(i,1,m_pTeachers->m_teaName);
m_teaList.SetItemText(i,2,m_pTeachers->m_teaTitle);
m_teaList.SetItemText(i,3,m_pTeachers->m_contact);
i++;
m_pTeachers->MoveNext();
}
m_pTeachers->Close();
delete m_pTeachers;
}
void CTeacherInfo::OnBtnedit()
{
// TODO: Add your control notification handler code here
UpdateData();
if(m_name==""||m_code=="")
return;
if(!m_bEditMode)
{
m_btnNew.EnableWindow(false);
m_btnDelete.EnableWindow(false);
m_btnEdit.SetIcon(IDI_ICONSAVE);
setFieldReadWrite();
m_ctlCode.SetReadOnly(true);
m_bEditMode = true;
}
else
{
m_pTeachers = new CTeachers();
if(!m_pTeachers->IsOpen())
m_pTeachers->Open();
m_pTeachers->m_strFilter.Format("teaID='%s'",m_code);
m_pTeachers->Requery();
if(m_pTeachers->IsEOF())
{
m_pTeachers->Close();
delete m_pTeachers;
setFieldReadOnly();
setFieldNull();
m_btnNew.EnableWindow(true);
m_btnDelete.EnableWindow(true);
m_bEditMode = false;
m_btnEdit.SetIcon(IDI_ICONEDIT);
return;
}
m_pTeachers->Edit();
m_pTeachers->m_teaName = m_name;
m_pTeachers->m_teaTitle = m_title;
m_pTeachers->m_contact = m_contact;
m_pTeachers->Update();
m_pTeachers->Close();
delete m_pTeachers;
setFieldReadOnly();
m_btnNew.EnableWindow(true);
m_btnDelete.EnableWindow(true);
m_bEditMode = false;
m_btnEdit.SetIcon(IDI_ICONEDIT);
setTeaList();
}
}
void CTeacherInfo::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
if(m_bAddMode)
{
if(AfxMessageBox("取消新增?",MB_YESNO)==IDYES)
{
setFieldReadOnly();
setFieldNull();
m_btnDelete.EnableWindow(true);
m_btnNew.SetIcon(IDI_ICONNEW);
m_btnEdit.EnableWindow(true);
m_bAddMode = false;
}
else
return;
}
if(m_bEditMode)
{
if(AfxMessageBox("取消修改?",MB_YESNO)==IDYES)
{
setFieldReadOnly();
setFieldNull();
m_btnNew.EnableWindow(true);
m_btnDelete.EnableWindow(true);
m_bEditMode = false;
m_btnEdit.SetIcon(IDI_ICONEDIT);
}
else
return;
}
char s[20];
m_teaList.GetItemText(m_teaList.GetSelectionMark(),0,s,19);
if(s=="")
return;
m_pTeachers = new CTeachers();
if(!m_pTeachers->IsOpen())
m_pTeachers->Open();
m_pTeachers->m_strFilter.Format("teaID='%s'",s);
m_pTeachers->Requery();
if(m_pTeachers->IsEOF()){
m_pTeachers->Close();
delete m_pTeachers;
return;
}
m_name = m_pTeachers->m_teaName;
m_code = m_pTeachers->m_teaID;
m_title = m_pTeachers->m_teaTitle;
m_contact = m_pTeachers->m_contact;
UpdateData(false);
m_pTeachers->Close();
delete m_pTeachers;
*pResult = 0;
}
void CTeacherInfo::OnBtndelete()
{
// TODO: Add your control notification handler code here
UpdateData();
if(m_code=="")
return;
m_pTeachers = new CTeachers();
if(!m_pTeachers->IsOpen())
m_pTeachers->Open();
m_pTeachers->m_strFilter.Format("teaID='%s'",m_code);
m_pTeachers->Requery();
if(m_pTeachers->IsEOF()){
m_pTeachers->Close();
delete m_pTeachers;
return;
}
m_pTeachers->Delete();
m_pTeachers->Close();
delete m_pTeachers;
setFieldNull();
setTeaList();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -