📄 teachingdlg.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 + -