?? stufeepage.cpp
字號(hào):
// stufeepage.cpp : implementation file
//
#include "stdafx.h"
#include "教學(xué)管理信息系統(tǒng).h"
#include "stufeepage.h"
#include "Public.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// Cstufeepage property page
IMPLEMENT_DYNCREATE(Cstufeepage, CPropertyPage)
Cstufeepage::Cstufeepage() : CPropertyPage(Cstufeepage::IDD)
{
//{{AFX_DATA_INIT(Cstufeepage)
m_stuname = _T("");
m_feename = _T("");
m_feetime = _T("");
m_feesum = _T("");
//}}AFX_DATA_INIT
}
Cstufeepage::~Cstufeepage()
{
}
void Cstufeepage::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
//{{AFX_DATA_MAP(Cstufeepage)
DDX_Control(pDX, IDC_LISTstufee, m_lststufee);
DDX_Text(pDX, IDC_EDITfeestu, m_stuname);
DDX_Text(pDX, IDC_EDITstufeename, m_feename);
DDX_Text(pDX, IDC_EDITfeestutime, m_feetime);
DDX_Text(pDX, IDC_EDITfeestusum, m_feesum);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(Cstufeepage, CPropertyPage)
//{{AFX_MSG_MAP(Cstufeepage)
ON_BN_CLICKED(IDC_BUTTONaddstufee, OnBUTTONaddstufee)
ON_NOTIFY(NM_CLICK, IDC_LISTstufee, OnClickLISTstufee)
ON_BN_CLICKED(IDC_BUTTONupdate, OnBUTTONupdate)
ON_NOTIFY(LVN_COLUMNCLICK, IDC_LISTstufee, OnColumnclickLISTstufee)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// Cstufeepage message handlers
void Cstufeepage::OnBUTTONaddstufee()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
try{
if(m_stufeeset.IsOpen())
m_stufeeset.Close();
m_stufeeset.Open(CRecordset::dynaset,NULL,CRecordset::none);
m_stufeeset.AddNew();
m_stufeeset.m_stuname=m_stuname;
m_stufeeset.m_feename=m_feename;
m_stufeeset.m_feetime=m_feetime;
m_stufeeset.m_feesum=m_feesum;
m_stufeeset.Update();
m_stufeeset.Requery();
m_stufeeset.Close();
m_lststufee.DeleteAllItems();
initctrldata();
SetDlgItemText(IDC_EDITfeestu,"");
SetDlgItemText(IDC_EDITstufeename,"");
SetDlgItemText(IDC_EDITfeestutime,"");
SetDlgItemText(IDC_EDITfeestusum,"");
}
catch(CDBException*e)
{
e->ReportError();
return;
}
}
BOOL Cstufeepage::OnInitDialog()
{
CPropertyPage::OnInitDialog();
if(CPublic::or==2)
{
GetDlgItem(IDC_BUTTONaddstufee)->EnableWindow(FALSE);
GetDlgItem(IDC_BUTTONupdate)->EnableWindow(FALSE);
}
// TODO: Add extra initialization here
int i;
DWORD dwNewStyle= LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_HEADERDRAGDROP |
LVS_EX_ONECLICKACTIVATE | LVS_EX_UNDERLINEHOT;
m_lststufee.SetExtendedStyle(dwNewStyle);
m_lststufee.InsertColumn(0,"學(xué)生姓名",LVCFMT_CENTER);
m_lststufee.InsertColumn(1,"收費(fèi)項(xiàng)目",LVCFMT_CENTER);
m_lststufee.InsertColumn(2,"收費(fèi)時(shí)間",LVCFMT_CENTER);
m_lststufee.InsertColumn(3,"金額",LVCFMT_CENTER);
for(i=0;i<4;i++)
m_lststufee.SetColumnWidth(i,80);
initctrldata();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void Cstufeepage::insertstufeeinfo(CString stuname,CString feename,CString
feetime,CString feesum)
{
int index=m_lststufee.GetItemCount();
LV_ITEM lvitem;
lvitem.mask=LVIF_TEXT;
lvitem.iItem=index;
lvitem.iSubItem=0;
CString temp;
temp.Format("%d");
lvitem.pszText=(char*)(LPCTSTR)temp;
m_lststufee.InsertItem(&lvitem);
m_lststufee.SetItemText(index,0,stuname);
m_lststufee.SetItemText(index,1,feename);
m_lststufee.SetItemText(index,2,feetime);
m_lststufee.SetItemText(index,3,feesum);
}
void Cstufeepage::initctrldata()
{
CDatabase m_database;
if(!m_database.Open(NULL,FALSE,FALSE,"ODBC;DSN=教務(wù)課程信息管理數(shù)據(jù)庫"))
{
AfxMessageBox("連接數(shù)據(jù)庫失敗");
}
try{
m_stufeeset.Open(CRecordset::dynaset,NULL,CRecordset::none);
while(!m_stufeeset.IsEOF())
{
CString stuname,feename,feetime,feesum;
m_stufeeset.GetFieldValue((short)0,stuname);
m_stufeeset.GetFieldValue(1,feename);
m_stufeeset.GetFieldValue(2,feetime);
m_stufeeset.GetFieldValue(3,feesum);
insertstufeeinfo(stuname,feename,feetime,feesum);
m_stufeeset.MoveNext();
}
m_stufeeset.Close();
}
catch(CDBException*e)
{
e->ReportError();
return;
}
}
void Cstufeepage::OnClickLISTstufee(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
nitem=m_lststufee.GetNextItem(-1,LVNI_SELECTED);
if(nitem!=-1)
{
m_stuname=m_lststufee.GetItemText(nitem,0);
m_feename=m_lststufee.GetItemText(nitem,1);
m_feetime=m_lststufee.GetItemText(nitem,2);
m_feesum=m_lststufee.GetItemText(nitem,3);
UpdateData(FALSE);
}
*pResult = 0;
}
void Cstufeepage::OnBUTTONupdate()
{
// TODO: Add your control notification handler code here
if(m_stufeeset.IsOpen())
m_stufeeset.Close();
m_stufeeset.Open(CRecordset::dynaset,NULL,CRecordset::none);
m_stufeeset.MoveFirst();
for(int i=0;i<=nitem;i++)
{
if(i==nitem)
{
UpdateData(TRUE);
m_stufeeset.Edit();
m_stufeeset.m_stuname=m_stuname;
m_stufeeset.m_feename=m_feename;
m_stufeeset.m_feetime=m_feetime;
m_stufeeset.m_feesum=m_feesum;
m_stufeeset.Update();
m_stufeeset.Requery();
m_stufeeset.Close();
m_lststufee.DeleteAllItems();
initctrldata();
}
else
{
m_stufeeset.MoveNext();
}
}
}
void Cstufeepage::OnColumnclickLISTstufee(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
int i=pNMListView->iSubItem;
if(m_stufeeset.IsOpen())
m_stufeeset.Close();
m_stufeeset.Open(CRecordset::dynaset,NULL,CRecordset::none);
if(i==0)
{
m_stufeeset.m_strSort="stuname";
m_stufeeset.Close();
m_lststufee.DeleteAllItems();
initctrldata();
}
if(i==1)
{
m_stufeeset.m_strSort="feename";
m_stufeeset.Close();
m_lststufee.DeleteAllItems();
initctrldata();
}
if(i==2)
{
m_stufeeset.m_strSort="feetime";
m_stufeeset.Close();
m_lststufee.DeleteAllItems();
initctrldata();
}
if(i==3)
{
m_stufeeset.m_strSort="feesum";
m_stufeeset.Close();
m_lststufee.DeleteAllItems();
initctrldata();
}
*pResult = 0;
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -