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

📄 teacherdlg.cpp

📁 这是一个课程设计
💻 CPP
字号:
// TeacherDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Scoremanager.h"
#include "TeacherDlg.h"
#include "TeacherSet.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CTeacherDlg dialog


CTeacherDlg::CTeacherDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CTeacherDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CTeacherDlg)
	//}}AFX_DATA_INIT
}


void CTeacherDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CTeacherDlg)
	DDX_Control(pDX, IDCANCEL1, m_can1);
	DDX_Control(pDX, IDCANCEL, m_can);
	DDX_Control(pDX, IDC_TEACHER_EDIT, m_bTEdit);
	DDX_Control(pDX, IDC_TEACHER_DEL, m_bTDel);
	DDX_Control(pDX, IDC_TEACHER_ADD, m_bTAdd);
	DDX_Control(pDX, ID_TEACHER_OK, m_bConfirm);
	DDX_Control(pDX, IDC_TEACHER_LEVEL, m_strTLevel);
	DDX_Control(pDX, IDC_LIST_TEACHER, m_list);
	DDX_Control(pDX, IDC_TEACHER_AGE, m_strTAge);
	DDX_Control(pDX, IDC_TEACHER_NAME, m_strTName);
	DDX_Control(pDX, IDC_TEACHER_NO, m_strTNo);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CTeacherDlg, CDialog)
	//{{AFX_MSG_MAP(CTeacherDlg)
	ON_NOTIFY(NM_CLICK, IDC_LIST_TEACHER, OnClickListTeacher)
	ON_BN_CLICKED(IDC_TEACHER_ADD, OnTeacherAdd)
	ON_BN_CLICKED(IDC_TEACHER_EDIT, OnTeacherEdit)
	ON_BN_CLICKED(IDC_TEACHER_DEL, OnTeacherDel)
	ON_BN_CLICKED(ID_TEACHER_OK, OnTeacherOk)
	ON_BN_CLICKED(IDCANCEL1, OnCancel1)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTeacherDlg message handlers

void CTeacherDlg::RefreshList()
{
m_list.DeleteAllItems();
m_teacherSet.Open();
m_teacherSet.m_strFilter="active_status='Y'";
m_teacherSet.Requery();
  for(int i=0;i<m_teacherSet.GetRecordCount();i++)
  {
   CString temp;
   m_teacherSet.GetFieldValue("teacher_no",temp);
   m_list.InsertItem(i,temp);   
   m_teacherSet.GetFieldValue("teacher_name",temp);
   m_list.SetItemText(i,1,temp);
   m_teacherSet.GetFieldValue("teacher_sex",temp);
   m_list.SetItemText(i,2,temp);
   m_teacherSet.GetFieldValue("teacher_age",temp);
   m_list.SetItemText(i,3,temp);
   m_teacherSet.GetFieldValue("teacher_level",temp);
   m_list.SetItemText(i,4,temp);


   m_teacherSet.MoveNext();
   }
   m_teacherSet.Close();
}



void CTeacherDlg::ResetButton()
{
CButton* femaleRadio=(CButton*)this->GetDlgItem(IDC_TEACHER_SEX_FEMALE);
CButton* maleRadio=(CButton*)this->GetDlgItem(IDC_TEACHER_SEX_MALE);
m_strTNo.EnableWindow(false);
m_strTName.EnableWindow(false);
m_strTAge.EnableWindow(false);

m_strTLevel.EnableWindow(false);
m_bTAdd.EnableWindow(true);
femaleRadio->EnableWindow(false);
maleRadio->EnableWindow(false);
m_bConfirm.EnableWindow(false);
m_bTAdd.EnableWindow(true);
m_bTDel.EnableWindow(true);
m_bTEdit.EnableWindow(true);
}


BOOL CTeacherDlg::OnInitDialog()
{
	CDialog::OnInitDialog();
	
    m_list.InsertColumn(0,"编号");
    m_list.InsertColumn(1,"姓名");
	m_list.InsertColumn(2,"性别");
    m_list.InsertColumn(3,"年龄");
    m_list.InsertColumn(4,"职称");
      
	RECT rectList;
	m_list.GetWindowRect(&rectList);
	int wid=rectList.right-rectList.left-4;
	for(int i=0;i<5;i++)
	m_list.SetColumnWidth(i,wid/5);
	m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT);
	RefreshList();
        for(int j=1;j<100;j++)
        {
            CString s;
            s.Format("%d",j);
            m_strTAge.AddString(s);
        }

	m_strTLevel.AddString("教授  ");
    m_strTLevel.AddString("博士  ");
	m_strTLevel.AddString("研究生");
    m_strTLevel.AddString("本科生");
    m_strTLevel.SelectString(0,"教授  ");

CButton* femaleRadio=(CButton*)this->GetDlgItem(IDC_TEACHER_SEX_FEMALE);
CButton* maleRadio=(CButton*)this->GetDlgItem(IDC_TEACHER_SEX_MALE);
femaleRadio->EnableWindow(false);
maleRadio->EnableWindow(false);
ResetButton();
return TRUE;
}

void CTeacherDlg::OnClickListTeacher(NMHDR* pNMHDR, LRESULT* pResult) 
{
	CButton* femaleRadio=(CButton*)this->GetDlgItem(IDC_TEACHER_SEX_FEMALE);
    CButton* maleRadio=(CButton*)this->GetDlgItem(IDC_TEACHER_SEX_MALE);
    int row=m_list.GetSelectionMark();
	CString s;
	s=m_list.GetItemText(row,0);
	m_strTNo.SetWindowText(s);
	s=m_list.GetItemText(row,1);
	m_strTName.SetWindowText(s);
	s=m_list.GetItemText(row,2);
	
	
	if(s=="女")
	{		
		femaleRadio->SetCheck(true);
        maleRadio->SetCheck(false);
	}

	else 
	{
		femaleRadio->SetCheck(false);
        maleRadio->SetCheck(true);
	}

	s=m_list.GetItemText(row,3);
    int i=m_strTAge.FindString(0,s);
        m_strTAge.SelectString(i,s);

        s=m_list.GetItemText(row,4);

		if(s=="教授  ")
		{
            m_strTLevel.SelectString(0,s);
		}
		else if(s=="博士  ")
        {
			m_strTLevel.SelectString(1,s);
		}
		else if(s=="研究生")
        {
			m_strTLevel.SelectString(2,s);
		}
		else if(s=="本科生")
        {
			m_strTLevel.SelectString(3,s);
        }
		*pResult=0;
}

void CTeacherDlg::OnTeacherAdd() 
{
CButton* femaleRadio=(CButton*)this->GetDlgItem(IDC_TEACHER_SEX_FEMALE);
CButton* maleRadio=(CButton*)this->GetDlgItem(IDC_TEACHER_SEX_MALE);
m_strTNo.EnableWindow(true);
m_strTNo.SetWindowText("");
m_strTName.EnableWindow(true);
m_strTName.SetWindowText("");
m_strTAge.EnableWindow(true);
m_strTAge.SelectString(0,"40");	
m_strTLevel.EnableWindow(true);
m_strTLevel.SelectString(0,"教授  ");
femaleRadio->EnableWindow(true);
maleRadio->EnableWindow(true);

m_teacherSet.Open();
m_teacherSet.AddNew();
m_bConfirm.EnableWindow(true);
m_bTAdd.EnableWindow(false);
m_bTDel.EnableWindow(false);
m_bTEdit.EnableWindow(false);	
	
	
}

void CTeacherDlg::OnTeacherEdit() 
{
	CButton* femaleRadio=(CButton*)this->GetDlgItem(IDC_TEACHER_SEX_FEMALE);
    CButton* maleRadio=(CButton*)this->GetDlgItem(IDC_TEACHER_SEX_MALE);

int row=m_list.GetSelectionMark();
CString s,strSQL;
s=m_list.GetItemText(row,0);
  if(s=="")
  {
	  MessageBox("请选中一行");
  }
  else
  {
	  strSQL.Format("teacher_no=%s",s);
	  m_teacherSet.Open();
	  m_teacherSet.m_strFilter=strSQL;
      m_teacherSet.Requery();
	  m_teacherSet.Edit();
	  m_bConfirm.EnableWindow(true);
	  //m_strUserNo.EnableWindow(true);
      m_strTName.EnableWindow(true);
      m_strTNo.EnableWindow(true);
      m_strTAge.EnableWindow(true);
	 
      m_strTLevel.EnableWindow(true);
      femaleRadio->EnableWindow(true);
      maleRadio->EnableWindow(true);

      m_bTAdd.EnableWindow(false);
      m_bTDel.EnableWindow(false);
      m_bTEdit.EnableWindow(false);

  }
	
}

void CTeacherDlg::OnTeacherDel() 
{
int row=m_list.GetSelectionMark();
CString s,strSQL;
s=m_list.GetItemText(row,0);
  if(s=="")
  {
	  MessageBox("请选中一行");
  }
  else
  {
	  if(MessageBox("确定要删除该记录吗?","删除询问",MB_OKCANCEL|MB_ICONQUESTION)==IDOK)
	  {
	  strSQL.Format("teacher_no=%s",s);
	  m_teacherSet.Open();
	  m_teacherSet.m_strFilter=strSQL;
      m_teacherSet.Requery();
	  m_teacherSet.Edit();
	  m_teacherSet.m_active_status="N";
	  m_teacherSet.Update();
      m_teacherSet.Close();
	  RefreshList();
	  }
  }
	
}

void CTeacherDlg::OnTeacherOk() 
{
CString teacherno,teachername,teacherlevel,strSex;

m_strTNo.GetWindowText(teacherno);
m_strTName.GetWindowText(teachername);
m_strTLevel.GetWindowText(teacherlevel);


int teacherage;
CString s;
m_strTAge.GetWindowText(s);
teacherage=atoi(s);

int teachersex=this->GetCheckedRadioButton(IDC_TEACHER_SEX_MALE,IDC_TEACHER_SEX_FEMALE);
if(teachersex==IDC_TEACHER_SEX_FEMALE)
   strSex="女";
else 
   strSex="男";


  if(teacherno=="")
  {
	  MessageBox("请输入教师编号");
  }
  else if(teachername=="")
  {
	  MessageBox("请输入姓名");
  }	

  else
  {



      m_teacherSet.m_teacher_no=teacherno;


      m_teacherSet.m_teacher_name=teachername;
	  m_teacherSet.m_teacher_sex=strSex;
	  m_teacherSet.m_teacher_age=teacherage;
      m_teacherSet.m_teacher_level=teacherlevel;
      m_teacherSet.m_active_status="Y";

	  m_teacherSet.Update();
	  m_teacherSet.Close();
	  RefreshList();
	  ResetButton();
  }
	
	
}

void CTeacherDlg::OnCancel1() 
{
	if(m_teacherSet.IsOpen())
	   m_teacherSet.Close();
	ResetButton();
	
}
void CTeacherDlg::OnCancel() 
{
	// TODO: Add extra cleanup here
	
	CDialog::OnCancel();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -