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

📄 teachingdlg.cpp

📁 课程设计的简单Access学生数据库系统
💻 CPP
字号:
// TeachingDlg.cpp : implementation file
//

#include "stdafx.h"
#include "SM.h"
#include "unit.h"
#include "class.h"
#include "UnitClassTree.h"
#include "teaching.h"
#include "teachinglist.h"
#include "teachingsetdlg.h"
#include "Searchdlg.h"
#include "TeachingDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CTeachingDlg dialog


//##ModelId=40A481F100B0
CTeachingDlg::CTeachingDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CTeachingDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CTeachingDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


//##ModelId=40A481F100D0
void CTeachingDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CTeachingDlg)
	DDX_Control(pDX, IDC_TREE1, m_Tree);
	DDX_Control(pDX, IDC_LIST1, m_List);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CTeachingDlg, CDialog)
	//{{AFX_MSG_MAP(CTeachingDlg)
	ON_BN_CLICKED(IDC_NEW, OnNew)
	ON_BN_CLICKED(IDC_EDIT, OnEdit)
	ON_BN_CLICKED(IDC_DELETE, OnDelete)
	ON_BN_CLICKED(IDC_SEARCH, OnSearch)
	ON_WM_DESTROY()
	ON_WM_CANCELMODE()
	ON_BN_CLICKED(IDCANCEL2, OnCancel)
	ON_NOTIFY(TVN_SELCHANGED, IDC_TREE1, OnSelchangedTree)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTeachingDlg message handlers

//##ModelId=40A481F100DC
void CTeachingDlg::OnNew() 
{
	if(pTree->GetSelectType()==1)
	{
		Teaching data;
		data.ClassID = pTree->GetSelectClass().ID;
		TeachingSetDlg dlg(&data.SubjectID, &data.TeacherID);
		if(IDOK==dlg.DoModal())
		{
			CDaoTableDef TD(&theDatabase);
			TD.Open("teaching");
			CDaoRecordset RS;
			RS.Open(&TD);
			data.AddNew(&RS);
			RS.Close();
			TD.Close();
			pList->Load(data.ClassID);
		}
	}
	else
		AfxMessageBox("必须选择一个班级");
}

//##ModelId=40A481F100EA
void CTeachingDlg::OnEdit() 
{
	if(pList->IsSelected())
	{
		Teaching* p = &pList->GetSelectTeaching();
		TeachingSetDlg dlg(&p->SubjectID, &p->TeacherID);
		if(IDOK==dlg.DoModal())
		{
			CDaoTableDef TD(&theDatabase);
			TD.Open("teaching");
			CDaoRecordset RS;
			RS.Open(&TD);
			p->Update(&RS);
			RS.Close();
			TD.Close();
			pList->Load(p->ClassID);
		}
	}
	else
		AfxMessageBox("必须选择一个记录");
	
}

//##ModelId=40A481F100EC
void CTeachingDlg::OnDelete() 
{
	if(pList->IsSelected())
	{
		Teaching* p = &pList->GetSelectTeaching();
		CDaoTableDef TD(&theDatabase);
		TD.Open("teaching");
		CDaoRecordset RS;
		RS.Open(&TD);
		p->Delete(&RS);
		RS.Close();
		TD.Close();
		pList->Load(p->ClassID);
	}
	else
		AfxMessageBox("必须选择一个记录");
	
}

//##ModelId=40A481F100FA
void CTeachingDlg::OnSearch() 
{
	if(pTree->GetSelectType()==1)
	{
		CString s;
		CSearchDlg dlg("请输入要查找的课程科目:", s);
		if(IDOK==dlg.DoModal())
			pList->Search(s);
	}
	else
		AfxMessageBox("必须选择一个班级");
}

//##ModelId=40A481F100FC
void CTeachingDlg::OnCancel() 
{
	CDialog::OnCancel();
}

//##ModelId=40A481F1010A
BOOL CTeachingDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();

	pTree = new UnitClassTree(&m_Tree);
	pList = new TeachingList(&m_List);
	pTree->Load();
	pTree->SetSelectUnit(1);
	m_Tree.Expand(m_Tree.GetRootItem(), TVE_EXPAND);
	pList->Init();
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

//##ModelId=40A481F1010C
void CTeachingDlg::OnDestroy() 
{
	CDialog::OnDestroy();
	delete pTree;
	delete pList;
}

//##ModelId=40A481F10119
void CTeachingDlg::OnCancelMode() 
{
	CDialog::OnCancelMode();
}

//##ModelId=40A481F1011B
void CTeachingDlg::OnSelchangedTree(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
	if(pTree->GetSelectType()==1)	
	{
		pList->Load(pTree->GetSelectClass().ID);
	}
	else
		pList->Clear();
	*pResult = 0;
}

⌨️ 快捷键说明

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