📄 classdlg.cpp
字号:
// ClassDlg.cpp : implementation file
//
#include "stdafx.h"
#include "SM.h"
#include "teacher.h"
#include "class.h"
#include "ClassDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CClassDlg dialog
//##ModelId=40A481F603C9
CClassDlg::CClassDlg(Class * data, CWnd* pParent /*=NULL*/)
: CDialog(CClassDlg::IDD, pParent), TD(&theDatabase)
{
//{{AFX_DATA_INIT(CClassDlg)
m_Title = _T("");
//}}AFX_DATA_INIT
if(data)
{
Mode = 1;
pData = data;
m_Title = pData->Title;
m_TeacherID = pData->TeacherID;
}
else
{
Mode = 0;
pData = new Class();
}
UnitID = ((CSMDlg*)AfxGetMainWnd())->pUnitClassTree->GetSelectUnit().ID;
}
//##ModelId=40A481F70040
void CClassDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CClassDlg)
DDX_Control(pDX, IDC_COMBO1, m_Combo);
DDX_Control(pDX, IDC_TREE1, m_Tree);
DDX_Text(pDX, IDC_EDIT1, m_Title);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CClassDlg, CDialog)
//{{AFX_MSG_MAP(CClassDlg)
ON_WM_CANCELMODE()
ON_WM_DESTROY()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CClassDlg message handlers
//##ModelId=40A481F70050
BOOL CClassDlg::OnInitDialog()
{
CDialog::OnInitDialog();
UpdateData(false);
pUnitTree = new UnitTree(&m_Tree);
pUnitTree->Load();
if(!Mode)
pUnitTree->SetSelectUnit(UnitID);
else
pUnitTree->SetSelectUnit(pData->SuperiorID);
TD.Open("teacher");
RS.Open(&TD);
for(RS.MoveFirst();!RS.IsEOF();RS.MoveNext())
Teachers.push_back(Teacher(RS.GetFieldValue("ID").lVal,
V_BSTRT(&RS.GetFieldValue("Name")),
RS.GetFieldValue("sex").boolVal==-1,
V_BSTRT(&RS.GetFieldValue("Tele")),
V_BSTRT(&RS.GetFieldValue("EMail"))
)
);
int j = 0;
for(int i=0;i<Teachers.size();i++)
{
m_Combo.AddString(Teachers[i].Name);
if(Teachers[i].ID == m_TeacherID)
j = i;
}
m_Combo.SetCurSel(j);
// TODO: Add extra initialization here
RS.Close();
TD.Close();
TD.Open("class");
RS.Open(&TD);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
//##ModelId=40A481F7005E
void CClassDlg::OnCancelMode()
{
CDialog::OnCancelMode();
// TODO: Add your message handler code here
}
//##ModelId=40A481F70060
void CClassDlg::OnDestroy()
{
CDialog::OnDestroy();
RS.Close();
TD.Close();
if(!Mode)
delete pData;
// TODO: Add your message handler code here
}
//##ModelId=40A481F7006E
void CClassDlg::OnOK()
{
// TODO: Add extra validation here
UpdateData();
if(m_Title=="")
{
AfxMessageBox(" 班级名称不能为空字符串!!");
return ;
}
pData->Title = m_Title;
m_TeacherID = m_Combo.GetCurSel();
if(m_TeacherID<Teachers.size())
pData->TeacherID = Teachers[m_TeacherID].ID;
else
pData->TeacherID = 0;
pData->SuperiorID = pUnitTree->GetSelcetUnit().ID;
if(Mode)
pData->Update(&RS);
else
pData->AddNew(&RS);
CDialog::EndDialog(pData->ID);
}
//##ModelId=40A481F70070
void CClassDlg::OnCancel()
{
// TODO: Add extra cleanup here
CDialog::EndDialog(0);
}
//##ModelId=40A481F7003E
BOOL CClassDlg::DestroyWindow()
{
// TODO: Add your specialized code here and/or call the base class
delete pUnitTree;
return CDialog::DestroyWindow();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -