www.pudn.com > 111.rar > SchoolManageSys_2Dlg.cpp
/****************************************/
/* SchoolManageSystem */
/*设计者:全佳营 */
/*时间:2004.5.9-2004-5-18 */
/*Email:ghostman@tzc.edu.cn */
/****************************************/
// SchoolManageSys_2Dlg.cpp : 实现文件
//
#include "stdafx.h"
#include "SchoolManageSys_2.h"
#include "SchoolManageSys_2Dlg.h"
#include ".\schoolmanagesys_2dlg.h"
#include "DialogAboutMe.h"
#include "DialogHelp.h"
#include "DataGridShow.h"
#include "Dialog_Login.h"
#include "Dialog_Amend_users.h"
#include "Dialog_Query.h"
#include "DialogNew.h"
#include "Dialog_DeleteData.h"
#include "DialogAmendData.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// 用于应用程序“关于”菜单项的 CAboutDlg 对话框
class CAboutDlg : public CDialog
{
public:
CAboutDlg();
virtual BOOL OnInitDialog();
// 对话框数据
enum { IDD = IDD_ABOUTBOX };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
// 实现
protected:
DECLARE_MESSAGE_MAP()
};
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
}
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
END_MESSAGE_MAP()
BOOL CAboutDlg::OnInitDialog(){
CDialog::OnInitDialog();
theApp.m_pSkin->ApplySkin((int)m_hWnd);
return TRUE;
}
// CSchoolManageSys_2Dlg 对话框
CSchoolManageSys_2Dlg::CSchoolManageSys_2Dlg(CWnd* pParent /*=NULL*/)
: CDialog(CSchoolManageSys_2Dlg::IDD, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
m_bsetskin1=FALSE;
m_bsetskin2=FALSE;
m_bsetskin3=FALSE;
m_isstudent=FALSE;
ischangephoto=FALSE;
}
void CSchoolManageSys_2Dlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_COMBO_QUERRY, m_ListQuery);
DDX_Control(pDX, IDC_DATAGRID_INFO, m_Datagridinfo);
DDX_Control(pDX, IDC_ADODC1, m_Adodc1);
DDX_Control(pDX, IDC_TREE_MAIN, m_Treeinfo);
DDX_Control(pDX, IDC_LIST_INFO, m_Listinfo);
}
BEGIN_MESSAGE_MAP(CSchoolManageSys_2Dlg, CDialog)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
ON_COMMAND(ID_ABOUT, OnAbout)
ON_COMMAND(ID_HELP_FILE, OnHelpFile)
ON_BN_CLICKED(IDC_BUTTON_EXIT, OnBnClickedButtonExit)
ON_COMMAND(ID_EXIT, OnExit)
ON_BN_CLICKED(IDC_BUTTON_OK, OnBnClickedButtonOk)
ON_COMMAND(ID_ABOUTME, OnAboutme)
ON_CBN_SELCHANGE(IDC_COMBO_QUERRY, OnCbnSelchangeComboQuerry)
ON_COMMAND(ID_DISPLAY_DATAGRID, OnDisplayDatagrid)
ON_UPDATE_COMMAND_UI(ID_Menu, OnUpdateMenu)
ON_COMMAND(ID_Menu, OnMenu)
ON_COMMAND(ID_CHIZH, OnChizh)
ON_UPDATE_COMMAND_UI(ID_CHIZH, OnUpdateChizh)
ON_COMMAND(ID_DEFAULT, OnDefault)
ON_UPDATE_COMMAND_UI(ID_DEFAULT, OnUpdateDefault)
ON_COMMAND(ID_B, OnB)
ON_UPDATE_COMMAND_UI(ID_B, OnUpdateB)
ON_COMMAND(ID_GALAXY, OnGalaxy)
ON_UPDATE_COMMAND_UI(ID_GALAXY, OnUpdateGalaxy)
ON_COMMAND(ID_MAC, OnMac)
ON_UPDATE_COMMAND_UI(ID_MAC, OnUpdateMac)
ON_COMMAND(ID_MEDIA, OnMedia)
ON_UPDATE_COMMAND_UI(ID_MEDIA, OnUpdateMedia)
ON_COMMAND(ID_METALLIC, OnMetallic)
ON_UPDATE_COMMAND_UI(ID_METALLIC, OnUpdateMetallic)
ON_COMMAND(ID_PAPER, OnPaper)
ON_UPDATE_COMMAND_UI(ID_PAPER, OnUpdatePaper)
ON_COMMAND(ID_PASOMOD, OnPasomod)
ON_UPDATE_COMMAND_UI(ID_PASOMOD, OnUpdatePasomod)
ON_COMMAND(ID_GREEN, OnGreen)
ON_UPDATE_COMMAND_UI(ID_GREEN, OnUpdateGreen)
ON_COMMAND(ID_TOPSECRET, OnTopsecret)
ON_UPDATE_COMMAND_UI(ID_TOPSECRET, OnUpdateTopsecret)
ON_COMMAND(ID_WEB, OnWeb)
ON_UPDATE_COMMAND_UI(ID_WEB, OnUpdateWeb)
ON_COMMAND(ID_CONNECTION, OnConnection)
ON_COMMAND(ID_DISCONNECTION, OnDisconnection)
ON_COMMAND(ID_SET_LOGIN, OnSetLogin)
ON_NOTIFY(TVN_SELCHANGED, IDC_TREE_MAIN, OnTvnSelchangedTreeMain)
ON_NOTIFY(NM_RCLICK, IDC_TREE_MAIN, OnNMRclickTreeMain)
ON_NOTIFY(LVN_ITEMACTIVATE, IDC_LIST_INFO, OnLvnItemActivateListInfo)
ON_BN_CLICKED(IDC_BUTTON_CHANAGE_PHOTO, OnBnClickedButtonChanagePhoto)
ON_BN_CLICKED(IDC_BUTTON_FLUSHNEW, OnBnClickedButtonFlushnew)
ON_BN_CLICKED(IDC_BUTTON_QUERY, OnBnClickedButtonQuery)
ON_COMMAND(ID_DISPLAYSELECTED, OnDisplayselected)
ON_WM_CONTEXTMENU()
ON_BN_CLICKED(IDC_BUTTON_CHE, OnBnClickedButtonChe)
ON_BN_CLICKED(IDC_BUTTON_HUI, OnBnClickedButtonHui)
ON_COMMAND(ID_QUERY, OnQuery)
ON_COMMAND(ID_NEWCLASS, OnNewclass)
ON_COMMAND(ID_NEWSTUDENT, OnNewstudent)
ON_COMMAND(ID_NEWTEACHER, OnNewteacher)
ON_COMMAND(ID_NEWDEPARTMENT, OnNewdepartment)
ON_COMMAND(ID_NEWCONSORTIUM, OnNewconsortium)
ON_COMMAND(ID_NEWCOLLEGE, OnNewcollege)
ON_COMMAND(ID_DELETE, OnDelete)
ON_COMMAND(ID_AMEND, OnAmend)
END_MESSAGE_MAP()
// CSchoolManageSys_2Dlg 消息处理程序
BOOL CSchoolManageSys_2Dlg::OnInitDialog()
{
CDialog::OnInitDialog();
// 将\“关于...\”菜单项添加到系统菜单中。
// IDM_ABOUTBOX 必须在系统命令范围内。
ASSERT((IDM_ABOUTBOX &amt; 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
//设置右键弹出菜单
popmenu=new CMenu;
BOOL bSuccess =popmenu->LoadMenu(IDR_MENU_POPUP);
// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
// 执行此操作
SetIcon(m_hIcon, TRUE); // 设置大图标
SetIcon(m_hIcon, FALSE); // 设置小图标
// TODO: 在此添加额外的初始化代码
theApp.m_pSkin = GetDlgItem(IDC_SKIN21)->GetControlUnknown();
theApp.m_pSkin->LoadSkin(L"winaqua.skn");
theApp.m_pSkin->ApplySkin((int)m_hWnd);
//连接数据库,身份验证
CDialog_Login *dlg1 =new CDialog_Login;
INT_PTR nResponse1=dlg1->DoModal();
if(nResponse1==IDOK){
}else {
CDialog::OnCancel();
}
//Tree控件
m_imagelist=new CImageList;
m_imagelist->Create(IDB_BITMAP_1,0,0,RGB(0,0,0));
bm.LoadBitmap(IDB_BITMAP_2);
m_imagelist->Add(&amt;bm,RGB(0,0,0));
/*
bm.DeleteObject();
bm.LoadBitmap(IDB_BITMAP1);
m_imagelist->Add(&amt;bm,RGB(0,0,0));
bm.DeleteObject();
bm.LoadBitmap(IDB_BITMAP2);*/
m_imagelist->Add(&amt;bm,RGB(0,0,0));
/*
int count(0);
CString tmp;
count=m_imagelist->GetImageCount();
tmp.Format(">d",count);
AfxMessageBox(tmp);*/
tvInsert.hParent = NULL;
tvInsert.hInsertAfter = NULL;
tvInsert.item.mask = TVIF_TEXT;
tvInsert.item.pszText=_T("台州学院信息管理");
m_Treeinfo.SetImageList(m_imagelist,TVSIL_NORMAL);
h1=m_Treeinfo.InsertItem(&amt;tvInsert);
h2=m_Treeinfo.InsertItem("相关信息",0,1,h1,TVI_SORT);
h3=m_Treeinfo.InsertItem("相关信息1",0,1,h1,TVI_SORT);
m_Treeinfo.SetTextColor(RGB(128,0,200));
//m_Treeinfo.SetItemImage(h1,0,1);
/*样式
long lStyle=
::GetWindowLong(m_Treeinfo.GetSafeHwnd(),GWL_STYLE);
lStyle |=TVS_EDITLABELS;
::SetWindowLong(m_Treeinfo.GetSafeHwnd(),
GWL_STYLE,
lStyle);*/
//**List控件
DWORD dwExStyle = LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | /*LVS_EX_SUBITEMIMAGES |*/
m_Listinfo.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES); LVS_EX_HEADERDRAGDROP | LVS_EX_TRACKSELECT;
LV_COLUMN lvColumn;
lvColumn.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
lvColumn.fmt = LVCFMT_LEFT; lvColumn.cx = 67;
CString temp ="初始化";
int len=temp.GetLength();
TCHAR* szBuffer = new TCHAR[len + 1];
strcpy(szBuffer, temp.GetBuffer(len));
temp.ReleaseBuffer();
lvColumn.pszText = szBuffer;
m_Listinfo.InsertColumn(0,&amt;lvColumn);
//**Datagrid控件
//**连接SQL数据库
if(m_AdoConnection.IsOpen()){
//学院记录集
m_AdoRecordSet_Collegeinfo.SetAdoConnection(&amt;m_AdoConnection);
m_AdoRecordSet_Collegeinfo.SetCursorLocation();
m_AdoRecordSet_Collegeinfo.Open("collegerecord",adCmdTable);
//系记录集
m_AdoRecordSet_Departmentinfo.SetAdoConnection(&amt;m_AdoConnection);
m_AdoRecordSet_Departmentinfo.SetCursorLocation();
m_AdoRecordSet_Departmentinfo.Open("departmentrecord",adCmdTable);
//班级记录集
m_AdoRecordSet_Classinfo.SetAdoConnection(&amt;m_AdoConnection);
m_AdoRecordSet_Classinfo.SetCursorLocation();
m_AdoRecordSet_Classinfo.Open("classrecord",adCmdTable);
//学生记录集
m_AdoRecordSet_Studentinfo.SetAdoConnection(&amt;m_AdoConnection);
m_AdoRecordSet_Studentinfo.SetCursorLocation();
// m_AdoRecordSet_Studentinfo.Open("studentrecord",adCmdTable);
//打开课程集
m_AdoRecordSet_Lessoninfo.SetAdoConnection(&amt;m_AdoConnection);
m_AdoRecordSet_Lessoninfo.SetCursorLocation();
// m_AdoRecordSet_Lessoninfo.Open("lessonrecord",adCmdTable);
}
classnum=m_AdoRecordSet_Classinfo.GetRecordCount();
//**列出查询项目
m_ListQuery.AddString("学院分类");
m_ListQuery.AddString("系别分类");
m_ListQuery.SetCurSel(0);
return TRUE; // 除非设置了控件的焦点,否则返回 TRUE
}
void CSchoolManageSys_2Dlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID &amt; 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else
{
CDialog::OnSysCommand(nID, lParam);
}
}
// 如果向对话框添加最小化按钮,则需要下面的代码
// 来绘制该图标。对于使用文档/视图模型的 MFC 应用程序,
// 这将由框架自动完成。
void CSchoolManageSys_2Dlg::OnPaint()
{
CPaintDC dc(this);
if (IsIconic())
{
// 用于绘制的设备上下文
SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
// 使图标在工作矩形中居中
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&amt;rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// 绘制图标
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
if(m_bitmap.GetSafeHandle()!=NULL){
CDC memDC;
BITMAP bm;
m_bitmap.GetBitmap(&amt;bm);
memDC.CreateCompatibleDC(&amt;dc);
CBitmap *oldbitmap = memDC.SelectObject(&amt;m_bitmap);
dc.BitBlt(712, 297, 152, 145, &amt;memDC, 0, 0, SRCCOPY);
memDC.SelectObject(oldbitmap);
}
}
void CSchoolManageSys_2Dlg::OnOK(){
if(MessageBox("退出系统?","确定退出",MB_OKCANCEL|MB_ICONQUESTION)==IDOK){
if(!m_AdoConnection.CommitTrans()){
AfxMessageBox("执行操作失败");
return;
}
//CDialog::OnOK();
}
}
void CSchoolManageSys_2Dlg::OnCancel(){
if(MessageBox("退出系统?","确定退出",MB_OKCANCEL|MB_ICONQUESTION)==IDOK){
CDialog::OnCancel();
}
}
//当用户拖动最小化窗口时系统调用此函数取得光标显示。
HCURSOR CSchoolManageSys_2Dlg::OnQueryDragIcon()
{
return static_cast<HCURSOR>(m_hIcon);
}
void CSchoolManageSys_2Dlg::OnAbout()
{
// TODO: 在此添加命令处理程序代码
CAboutDlg *dlg=new CAboutDlg;
ASSERT(dlg);
dlg->DoModal();
}
void CSchoolManageSys_2Dlg::OnHelpFile()
{
CDialogHelp *dlg=new CDialogHelp;
ASSERT(dlg);
dlg->DoModal();
}
void CSchoolManageSys_2Dlg::OnBnClickedButtonExit()
{
// TODO: 在此添加控件通知处理程序代码
OnCancel();
}
void CSchoolManageSys_2Dlg::OnExit()
{
// TODO: 在此添加命令处理程序代码
OnCancel();
}
void CSchoolManageSys_2Dlg::OnBnClickedButtonOk()
{
// TODO: 在此添加控件通知处理程序代码
OnOK();
}
void CSchoolManageSys_2Dlg::OnAboutme()
{
// TODO: 在此添加命令处理程序代码
CDialogAboutMe *dlg=new CDialogAboutMe;
ASSERT(dlg);
dlg->DoModal();
}
void CSchoolManageSys_2Dlg::OnCbnSelchangeComboQuerry()
{
// TODO: 在此添加控件通知处理程序代码
if(!m_AdoConnection.IsOpen()){
AfxMessageBox("尚未与数据库连接");
return;
}
UpdateData();
CString m_selection;
m_ListQuery.GetLBText(m_ListQuery.GetCurSel(),m_selection);
DisplayDataOnTree(m_selection);
}
void CSchoolManageSys_2Dlg::OnDisplayDatagrid()
{
// TODO: 在此添加命令处理程序代码
CDataGridShow *dlg=new CDataGridShow;
ASSERT(dlg);
dlg->DoModal();
}
void CSchoolManageSys_2Dlg::OnUpdateMenu(CCmdUI *pCmdUI)
{
// TODO: 在此添加命令更新用户界面处理程序代码
pCmdUI->SetCheck(m_bsetskin1);
}
void CSchoolManageSys_2Dlg::OnMenu()
{
// TODO: 在此添加命令处理程序代码
m_bsetskin1=!m_bsetskin1;
theApp.m_pSkin->LoadSkin(L"winaqua.skn");
theApp.m_pSkin->ApplySkin((int)m_hWnd);
}
void CSchoolManageSys_2Dlg::OnChizh()
{
// TODO: 在此添加命令处理程序代码
m_bsetskin2=!m_bsetskin2;
theApp.m_pSkin->LoadSkin(L"chizh.skn");
theApp.m_pSkin->ApplySkin((int)m_hWnd);
}
void CSchoolManageSys_2Dlg::OnUpdateChizh(CCmdUI *pCmdUI)
{
// TODO: 在此添加命令更新用户界面处理程序代码
pCmdUI->SetCheck(m_bsetskin2);
UpdateData(FALSE);
}
void CSchoolManageSys_2Dlg::OnDefault()
{
// TODO: 在此添加命令处理程序代码
m_bsetskin3=!m_bsetskin3;
theApp.m_pSkin->LoadSkin(L"zhelezo.skn");
theApp.m_pSkin->ApplySkin((int)m_hWnd);
}
void CSchoolManageSys_2Dlg::OnUpdateDefault(CCmdUI *pCmdUI)
{
// TODO: 在此添加命令更新用户界面处理程序代码
pCmdUI->SetCheck(m_bsetskin3);
}
void CSchoolManageSys_2Dlg::OnB()
{
// TODO: 在此添加命令处理程序代码
m_bsetskin4=!m_bsetskin4;
theApp.m_pSkin->LoadSkin(L"B-Studio.skn");
theApp.m_pSkin->ApplySkin((int)m_hWnd);
}
void CSchoolManageSys_2Dlg::OnUpdateB(CCmdUI *pCmdUI)
{
// TODO: 在此添加命令更新用户界面处理程序代码
pCmdUI->SetCheck(m_bsetskin4);
}
void CSchoolManageSys_2Dlg::OnGalaxy()
{
// TODO: 在此添加命令处理程序代码
m_bsetskin5=!m_bsetskin5;
theApp.m_pSkin->LoadSkin(L"galaxy.skn");
theApp.m_pSkin->ApplySkin((int)m_hWnd);
}
void CSchoolManageSys_2Dlg::OnUpdateGalaxy(CCmdUI *pCmdUI)
{
// TODO: 在此添加命令更新用户界面处理程序代码
pCmdUI->SetCheck(m_bsetskin5);
}
void CSchoolManageSys_2Dlg::OnMac()
{
// TODO: 在此添加命令处理程序代码
m_bsetskin6=!m_bsetskin6;
theApp.m_pSkin->LoadSkin(L"Mac.skn");
theApp.m_pSkin->ApplySkin((int)m_hWnd);
}
void CSchoolManageSys_2Dlg::OnUpdateMac(CCmdUI *pCmdUI)
{
// TODO: 在此添加命令更新用户界面处理程序代码
pCmdUI->SetCheck(m_bsetskin6);
}
void CSchoolManageSys_2Dlg::OnMedia()
{
// TODO: 在此添加命令处理程序代码
m_bsetskin7=!m_bsetskin7;
theApp.m_pSkin->LoadSkin(L"Media.skn");
theApp.m_pSkin->ApplySkin((int)m_hWnd);
}
void CSchoolManageSys_2Dlg::OnUpdateMedia(CCmdUI *pCmdUI)
{
// TODO: 在此添加命令更新用户界面处理程序代码
pCmdUI->SetCheck(m_bsetskin7);
}
void CSchoolManageSys_2Dlg::OnMetallic()
{
// TODO: 在此添加命令处理程序代码
m_bsetskin8=!m_bsetskin8;
theApp.m_pSkin->LoadSkin(L"metallic.skn");
theApp.m_pSkin->ApplySkin((int)m_hWnd);
}
void CSchoolManageSys_2Dlg::OnUpdateMetallic(CCmdUI *pCmdUI)
{
// TODO: 在此添加命令更新用户界面处理程序代码
pCmdUI->SetCheck(m_bsetskin8);
}
void CSchoolManageSys_2Dlg::OnPaper()
{
// TODO: 在此添加命令处理程序代码
m_bsetskin9=!m_bsetskin9;
theApp.m_pSkin->LoadSkin(L"Paper.skn");
theApp.m_pSkin->ApplySkin((int)m_hWnd);
}
void CSchoolManageSys_2Dlg::OnUpdatePaper(CCmdUI *pCmdUI)
{
// TODO: 在此添加命令更新用户界面处理程序代码
pCmdUI->SetCheck(m_bsetskin9);
}
void CSchoolManageSys_2Dlg::OnPasomod()
{
// TODO: 在此添加命令处理程序代码
m_bsetskin10=!m_bsetskin10;
theApp.m_pSkin->LoadSkin(L"plasmoid.skn");
theApp.m_pSkin->ApplySkin((int)m_hWnd);
}
void CSchoolManageSys_2Dlg::OnUpdatePasomod(CCmdUI *pCmdUI)
{
// TODO: 在此添加命令更新用户界面处理程序代码
pCmdUI->SetCheck(m_bsetskin10);
}
void CSchoolManageSys_2Dlg::OnGreen()
{
// TODO: 在此添加命令处理程序代码
m_bsetskin11=!m_bsetskin11;
theApp.m_pSkin->LoadSkin(L"green.skn");
theApp.m_pSkin->ApplySkin((int)m_hWnd);
}
void CSchoolManageSys_2Dlg::OnUpdateGreen(CCmdUI *pCmdUI)
{
// TODO: 在此添加命令更新用户界面处理程序代码
pCmdUI->SetCheck(m_bsetskin11);
}
void CSchoolManageSys_2Dlg::OnTopsecret()
{
// TODO: 在此添加命令处理程序代码
m_bsetskin12=!m_bsetskin12;
theApp.m_pSkin->LoadSkin(L"Topsecret.skn");
theApp.m_pSkin->ApplySkin((int)m_hWnd);
}
void CSchoolManageSys_2Dlg::OnUpdateTopsecret(CCmdUI *pCmdUI)
{
// TODO: 在此添加命令更新用户界面处理程序代码
pCmdUI->SetCheck(m_bsetskin12);
}
void CSchoolManageSys_2Dlg::OnWeb()
{
// TODO: 在此添加命令处理程序代码
m_bsetskin13=!m_bsetskin13;
theApp.m_pSkin->LoadSkin(L"Web-II.skn");
theApp.m_pSkin->ApplySkin((int)m_hWnd);
}
void CSchoolManageSys_2Dlg::OnUpdateWeb(CCmdUI *pCmdUI)
{
// TODO: 在此添加命令更新用户界面处理程序代码
pCmdUI->SetCheck(m_bsetskin13);
}
// //显示数据在tree控件里
BOOL CSchoolManageSys_2Dlg::DisplayDataOnTree(CString bType)
{
if(!m_AdoRecordSet_Collegeinfo.IsOpen()||!m_AdoRecordSet_Departmentinfo.IsOpen()){
AfxMessageBox("记录集尚未打开,请重新登陆");
return FALSE;
}
CString tmp;
HTREEITEM h_tmp;
m_Treeinfo.DeleteAllItems();
h1=m_Treeinfo.InsertItem(&amt;tvInsert);
if(bType=="学院分类"){
//m_Treeinfo.DeleteAllItems();
//h1=m_Treeinfo.InsertItem(&amt;tvInsert);
if(!m_AdoRecordSet_Collegeinfo.IsBOF())
m_AdoRecordSet_Collegeinfo.MoveFirst();
while(!m_AdoRecordSet_Collegeinfo.IsEOF()){
m_AdoRecordSet_Collegeinfo.GetCollect("collegename",tmp);
h_tmp=m_Treeinfo.InsertItem(tmp,0,1,h1,TVI_SORT);
int collegeidtmp;
m_AdoRecordSet_Collegeinfo.GetCollect("collegeid",collegeidtmp);
this->DisplayTreeNext(h_tmp,collegeidtmp);
m_AdoRecordSet_Collegeinfo.MoveNext();
}
}
else if(bType=="系别分类"){
//m_Treeinfo.DeleteAllItems();
//h1=m_Treeinfo.InsertItem(&amt;tvInsert);
if(!m_AdoRecordSet_Departmentinfo.IsBOF()){
m_AdoRecordSet_Departmentinfo.MoveFirst();
}
while(!m_AdoRecordSet_Departmentinfo.IsEOF()){
m_AdoRecordSet_Departmentinfo.GetCollect("departmentname",tmp);
h_tmp=m_Treeinfo.InsertItem(tmp,1,0,h1,TVI_SORT);
int dpmentid;
m_AdoRecordSet_Departmentinfo.GetCollect("departmentid",dpmentid);
this->DisplayTreeNextN(h_tmp,dpmentid);
m_AdoRecordSet_Departmentinfo.MoveNext();
}
}
else if(bType=="查询条件"){
//m_Treeinfo.DeleteAllItems();
//h1=m_Treeinfo.InsertItem(&amt;tvInsert);
AfxMessageBox("请选择一个条件");
h2=m_Treeinfo.InsertItem("相关信息",0,1,h1,TVI_SORT);
h3=m_Treeinfo.InsertItem("相关信息1",0,1,h1,TVI_SORT);
}
UpdateData(FALSE);
return TRUE;
}
// //显示下一层的treeitem
BOOL CSchoolManageSys_2Dlg::DisplayTreeNext(HTREEITEM tType,int cid)
{
CString dpm_name;
CString strfind;
HTREEITEM h_tmp;
strfind.Format("collegeid=>d",cid);
if(!m_AdoRecordSet_Departmentinfo.IsBOF())
m_AdoRecordSet_Departmentinfo.MoveFirst();
while(!m_AdoRecordSet_Departmentinfo.IsEOF()){
m_AdoRecordSet_Departmentinfo.Find(strfind);
m_AdoRecordSet_Departmentinfo.GetCollect("departmentname",dpm_name);
h_tmp=m_Treeinfo.InsertItem(dpm_name,1,0,tType,TVI_SORT);
int dpmentid;
m_AdoRecordSet_Departmentinfo.GetCollect("departmentid",dpmentid);
this->DisplayTreeNextN(h_tmp,dpmentid);
m_AdoRecordSet_Departmentinfo.FindNext();
}
return TRUE;
}
void CSchoolManageSys_2Dlg::OnConnection()
{
// TODO: 在此添加命令处理程序代码
if(m_AdoConnection.IsOpen())
AfxMessageBox("已经连接到数据库");
else {
CDialog_Login *dlg=new CDialog_Login;
ASSERT(dlg);
if(dlg->DoModal()==IDOK){
if(m_AdoConnection.IsOpen()){
//学院记录集
m_AdoRecordSet_Collegeinfo.SetAdoConnection(&amt;m_AdoConnection);
m_AdoRecordSet_Collegeinfo.SetCursorLocation();
m_AdoRecordSet_Collegeinfo.Open("collegerecord",adCmdTable);
//系记录集
m_AdoRecordSet_Departmentinfo.SetAdoConnection(&amt;m_AdoConnection);
m_AdoRecordSet_Departmentinfo.SetCursorLocation();
m_AdoRecordSet_Departmentinfo.Open("departmentrecord",adCmdTable);
//班级记录集
m_AdoRecordSet_Classinfo.SetAdoConnection(&amt;m_AdoConnection);
m_AdoRecordSet_Classinfo.SetCursorLocation();
m_AdoRecordSet_Classinfo.Open("classrecord",adCmdTable);
//学生记录集
m_AdoRecordSet_Studentinfo.SetAdoConnection(&amt;m_AdoConnection);
m_AdoRecordSet_Studentinfo.SetCursorLocation();
}
classnum=m_AdoRecordSet_Classinfo.GetRecordCount();
}
else return;
}
}
void CSchoolManageSys_2Dlg::OnDisconnection()
{
// TODO: 在此添加命令处理程序代码
if(m_AdoRecordSet_Collegeinfo.IsOpen())
m_AdoRecordSet_Collegeinfo.Close();
if(m_AdoRecordSet_Departmentinfo.IsOpen())
m_AdoRecordSet_Departmentinfo.Close();
if(m_AdoConnection.IsOpen())
m_AdoConnection.Close();
else AfxMessageBox("已断开连接");
}
// //显示department下的数据
BOOL CSchoolManageSys_2Dlg::DisplayTreeNextN(HTREEITEM m_treeitem, int m_departmentid)
{
CString classname;
CString strtmp;
strtmp.Format("departmentid=>d",m_departmentid);
if(!m_AdoRecordSet_Classinfo.IsBOF())
m_AdoRecordSet_Classinfo.MoveFirst();
while(!m_AdoRecordSet_Classinfo.IsEOF()){
m_AdoRecordSet_Classinfo.Find(strtmp);
m_AdoRecordSet_Classinfo.GetCollect("classname",classname);
m_Treeinfo.InsertItem(classname,0,1,m_treeitem,TVI_SORT);
m_AdoRecordSet_Classinfo.FindNext();
}
return TRUE;
}
void CSchoolManageSys_2Dlg::OnSetLogin()
{
// TODO: 在此添加命令处理程序代码
CAdoConnection* tmp;
tmp=&amt;m_AdoConnection;
CDialog_Amend_users *dlg=new CDialog_Amend_users(NULL,tmp);
ASSERT(dlg);
dlg->DoModal();
}
void CSchoolManageSys_2Dlg::OnTvnSelchangedTreeMain(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);
// TODO: 在此添加控件通知处理程序代码
//取当前项
m_isstudent=TRUE;
h_current=m_Treeinfo.GetSelectedItem();
h_parent=m_Treeinfo.GetParentItem(h_current);
if(m_Treeinfo.GetChildItem(h_current)==NULL){
CString tmp;
tmp=m_Treeinfo.GetItemText(h_current);
this->ShowBaseinfo(tmp);
}else {
}
*pResult = 0;
}
// 显示基本信息在List控件中
BOOL CSchoolManageSys_2Dlg::ShowBaseinfo(CString m_info)
{
CString tmp;
int cid;
//CAdoRecordSet m_AdoRecordSet_Studentinfo;
if(m_info=="") return FALSE;
tmp.Format("classname=\'>s\'",m_info);
if(!m_AdoRecordSet_Classinfo.IsBOF())
m_AdoRecordSet_Classinfo.MoveFirst();
m_AdoRecordSet_Classinfo.Find(tmp);
if(!m_AdoRecordSet_Classinfo.IsEOF()){
m_AdoRecordSet_Classinfo.GetCollect("classid",cid);
tmp.Format("SELECT *from studentrecord WHERE classid=>d",cid);
//tmp.Format("classid=>d",cid);
//打开学生记录集
//m_AdoRecordSet_Studentinfo.SetAdoConnection(&amt;m_AdoConnection);
//m_AdoRecordSet_Studentinfo.SetCursorLocation();
if(m_AdoRecordSet_Studentinfo.IsOpen()){
m_AdoRecordSet_Studentinfo.Requery();
m_AdoRecordSet_Studentinfo.Close();
}
m_AdoRecordSet_Studentinfo.Open(tmp,adCmdText);
if(!m_AdoRecordSet_Studentinfo.IsEOF()){
m_AdoRecordSet_Studentinfo.MoveFirst();
//显示数据在List控件里
//清除List控件里的数据
int nField=m_AdoRecordSet_Studentinfo.GetFieldsCount();
if(nField){
for(int i=0;i<nField;i++){
m_Listinfo.DeleteColumn(0);
}
}
m_Listinfo.DeleteAllItems();
DWORD dwExStyle = LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | /*LVS_EX_SUBITEMIMAGES |*/
m_Listinfo.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES); LVS_EX_HEADERDRAGDROP | LVS_EX_TRACKSELECT;
LV_COLUMN lvColumn;
lvColumn.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
lvColumn.fmt = LVCFMT_LEFT; lvColumn.cx = 67;
CString fieldinfo;
for(int i=0;i<nField-1;i++){
fieldinfo=m_AdoRecordSet_Studentinfo.GetFieldName(i);
int len=fieldinfo.GetLength();
TCHAR* szBuffer = new TCHAR[len + 1];
strcpy(szBuffer, fieldinfo.GetBuffer(len));
fieldinfo.ReleaseBuffer();
lvColumn.pszText = szBuffer;
m_Listinfo.InsertColumn(i,&amt;lvColumn);
}
long count=m_AdoRecordSet_Studentinfo.GetRecordCount();
for(int i=0;i<count;i++){
for(int j=0;j<nField-1;j++){
m_AdoRecordSet_Studentinfo.GetCollect(j,tmp);
if(j==0){
m_Listinfo.InsertItem(i,tmp,0);
m_Listinfo.SetTextColor(RGB(128,0,200));
continue;
}
m_Listinfo.SetItemText(i,j,tmp);
}
if(!m_AdoRecordSet_Studentinfo.IsEOF())
m_AdoRecordSet_Studentinfo.MoveNext();
}
m_AdoRecordSet_Studentinfo.Cancel();
}
else{
AfxMessageBox("没有这个班级的相关信息");
m_Listinfo.DeleteAllItems();
m_AdoRecordSet_Studentinfo.Cancel();
return FALSE;
}
}
else return FALSE;
return TRUE;
}
void CSchoolManageSys_2Dlg::OnNMRclickTreeMain(NMHDR *pNMHDR, LRESULT *pResult)
{
// TODO: 在此添加控件通知处理程序代码
*pResult = 0;
SetFocus();
POINT p;
::GetCursorPos(&amt;p);
HTREEITEM h_current=m_Treeinfo.GetSelectedItem();
CPoint point(p);
ClientToScreen(&amt;point);
HTREEITEM hNewSel=m_Treeinfo.HitTest(point);
if(NULL==hNewSel){
m_Treeinfo.SelectItem(NULL);
}else if(h_current!=hNewSel){
m_Treeinfo.SelectItem(hNewSel);
SetFocus();
}
/*CString tmp;
tmp=m_Treeinfo.GetItemText(hNewSel);
AfxMessageBox(tmp);*/
CMenu *psubmenu=popmenu->GetSubMenu(0);
psubmenu->TrackPopupMenu(TPM_LEFTALIGN|
TPM_RIGHTBUTTON,
point.x-230,
point.y-215,
AfxGetMainWnd());
}
void CSchoolManageSys_2Dlg::OnLvnItemActivateListInfo(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMITEMACTIVATE pNMIA = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
*pResult = 0;
// TODO: 在此添加控件通知处理程序代码
ischangephoto=TRUE;
int i=m_Listinfo.GetNextItem(-1,LVNI_SELECTED);
m_bitmap.DeleteObject();
CString tmp,str;
tmp=m_Listinfo.GetItemText(i,1);
str.Format("studynum=\'>s\'",tmp);
if(!m_AdoRecordSet_Studentinfo.IsBOF())
m_AdoRecordSet_Studentinfo.MoveFirst();
m_AdoRecordSet_Studentinfo.Find(str);
str.Format("SELECT *FROM lessonrecord WHERE studynum=\'>s\'",tmp);
if(m_AdoRecordSet_Lessoninfo.IsOpen())
m_AdoRecordSet_Lessoninfo.Close();
if(!m_AdoRecordSet_Lessoninfo.IsOpen())
m_AdoRecordSet_Lessoninfo.Open(str,adCmdText);
if(!m_AdoRecordSet_Studentinfo.IsEOF()){
m_AdoRecordSet_Studentinfo.GetChunk("photo",m_bitmap);
CRect rect(370, 100, 500, 260);
InvalidateRect(rect);
CString tmpname;
m_AdoRecordSet_Studentinfo.GetCollect("姓名",tmpname);
str.Format(">s 的课程信息",tmpname);
if(!m_AdoRecordSet_Lessoninfo.IsEOF())
{
m_Datagridinfo.put_Caption(str);
m_Datagridinfo.putref_DataSource(NULL);
m_Datagridinfo.putref_DataSource((LPUNKNOWN)m_AdoRecordSet_Lessoninfo.GetRecordset());
m_Datagridinfo.put_AllowAddNew(TRUE);
m_Datagridinfo.put_AllowDelete(TRUE);
m_Datagridinfo.put_AllowUpdate(TRUE);
m_Datagridinfo.Refresh();
}
else {
AfxMessageBox("没有相关课程信息");
return;
}
}else {
AfxMessageBox("没有相关信息");
return ;
}
UpdateData(FALSE);
}
void CSchoolManageSys_2Dlg::OnBnClickedButtonChanagePhoto()
{
// TODO: 在此添加控件通知处理程序代码
if(!ischangephoto){
AfxMessageBox("请选择一个人进行编辑");
return;
}
if(m_isstudent){
if(m_AdoRecordSet_Studentinfo.GetRecordCount()<1) return ;
static char BASED_CODE szFilter[] = "BMP Files (*.bmp)|*.bmp|All Files (*.*)|*.*||";
CFileDialog dlg(TRUE,"BMP",NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter);
if(dlg.DoModal()==IDOK){
strpathname=dlg.GetPathName();
if(strpathname!=""){
if(m_AdoRecordSet_Studentinfo.AppendChunk("photo",LPCTSTR(strpathname))){
CFile file;
if (file.Open(LPCTSTR(strpathname), CFile::modeRead))
{
long length = (long)file.GetLength();
char *pdata = new char[length + 1];
if (file.Read(pdata, length) == (DWORD)length)
{
BITMAPFILEHEADER bmfHeader;
DWORD bmfHeaderLen = sizeof(bmfHeader);
strncpy((LPSTR)&amt;bmfHeader, (LPSTR)pdata, bmfHeaderLen);
if (bmfHeader.bfType == (*(WORD*)"BM") )
{
LPSTR lpDIB = pdata + bmfHeaderLen;
BITMAPINFOHEADER &amt;bmiHeader = *(LPBITMAPINFOHEADER)lpDIB;
BITMAPINFO &amt;bmInfo = *(LPBITMAPINFO)lpDIB;
LPVOID lpDIBBits = pdata + ((BITMAPFILEHEADER *)pdata)->bfOffBits;
CWindowDC dc(this);
HBITMAP hBmp = CreateDIBitmap(dc.m_hDC, &amt;bmiHeader, CBM_INIT, lpDIBBits, &amt;bmInfo, DIB_RGB_COLORS);
if (m_bitmap.GetSafeHandle() != NULL) m_bitmap.DeleteObject();
m_bitmap.Attach(hBmp);
Invalidate();
}
}
delete[] pdata;
pdata = NULL;
}
}
}
}
}
Invalidate();
UpdateData(FALSE);
}
void CSchoolManageSys_2Dlg::OnBnClickedButtonFlushnew()
{
// TODO: 在此添加控件通知处理程序代码
if(UpdateData(FALSE)){
strpathname="";
if(!m_AdoRecordSet_Bookinfo.Update()){
AfxMessageBox("刷新失败!");
}
}
}
void CSchoolManageSys_2Dlg::OnBnClickedButtonQuery()
{
// TODO: 在此添加控件通知处理程序代码
CDialog_Query *dlg=new CDialog_Query;
ASSERT(dlg);
dlg->DoModal();
}
void CSchoolManageSys_2Dlg::OnDisplayselected()
{
// TODO: 在此添加命令处理程序代码
CDataGridShow *dlg=new CDataGridShow;
ASSERT(dlg);
dlg->DoModal();
}
void CSchoolManageSys_2Dlg::OnContextMenu(CWnd* /*pWnd*/, CPoint point)
{
// TODO: 在此处添加消息处理程序代码
SetFocus();
ClientToScreen(&amt;point);
CMenu * psubmenu=popmenu->GetSubMenu(1);
psubmenu->TrackPopupMenu(TPM_LEFTALIGN|
TPM_RIGHTBUTTON,
point.x-230,
point.y-215,
this);
}
void CSchoolManageSys_2Dlg::OnBnClickedButtonChe()
{
// TODO: 在此添加控件通知处理程序代码
if(!m_AdoConnection.RollbackTrans()){
AfxMessageBox("操作失败");
return;
}
}
void CSchoolManageSys_2Dlg::OnBnClickedButtonHui()
{
// TODO: 在此添加控件通知处理程序代码
if(!m_AdoConnection.CommitTrans()){
AfxMessageBox("操作失败");
return ;
}
}
void CSchoolManageSys_2Dlg::OnQuery()
{
// TODO: 在此添加命令处理程序代码
CDialog_Query *dlg=new CDialog_Query;
ASSERT(dlg);
dlg->DoModal();
}
void CSchoolManageSys_2Dlg::OnNewclass()
{
// TODO: 在此添加命令处理程序代码
CDialogNew *dlg=new CDialogNew;
ASSERT(dlg);
dlg->m_select=1;
dlg->DoModal();
}
void CSchoolManageSys_2Dlg::OnNewstudent()
{
// TODO: 在此添加命令处理程序代码
CDialogNew *dlg=new CDialogNew;
ASSERT(dlg);
dlg->m_select=0;
dlg->DoModal();
}
void CSchoolManageSys_2Dlg::OnNewteacher()
{
// TODO: 在此添加命令处理程序代码
CDialogNew *dlg=new CDialogNew;
ASSERT(dlg);
dlg->m_select=3;
dlg->DoModal();
}
void CSchoolManageSys_2Dlg::OnNewdepartment()
{
// TODO: 在此添加命令处理程序代码
CDialogNew *dlg=new CDialogNew;
ASSERT(dlg);
dlg->m_select=2;
dlg->DoModal();
}
void CSchoolManageSys_2Dlg::OnNewconsortium()
{
// TODO: 在此添加命令处理程序代码
CDialogNew *dlg=new CDialogNew;
ASSERT(dlg);
dlg->m_select=4;
dlg->DoModal();
}
void CSchoolManageSys_2Dlg::OnNewcollege()
{
// TODO: 在此添加命令处理程序代码
CDialogNew *dlg=new CDialogNew;
ASSERT(dlg);
dlg->m_select=5;
dlg->DoModal();
}
void CSchoolManageSys_2Dlg::OnDelete()
{
// TODO: 在此添加命令处理程序代码
CDialog_DeleteData *dlg=new CDialog_DeleteData;
ASSERT(dlg);
dlg->DoModal();
}
void CSchoolManageSys_2Dlg::OnAmend()
{
// TODO: 在此添加命令处理程序代码
CDialogAmendData *dlg=new CDialogAmendData;
ASSERT(dlg);
dlg->DoModal();
}