📄 page2.cpp
字号:
// Page2.cpp : implementation file
//
#include "stdafx.h"
#include "cj.h"
#include "Page2.h"
#include "FindDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CPage2 property page
IMPLEMENT_DYNCREATE(CPage2, CPropertyPage)
CPage2::CPage2() : CPropertyPage(CPage2::IDD)
{
//{{AFX_DATA_INIT(CPage2)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
CPage2::~CPage2()
{
}
void CPage2::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CPage2)
DDX_Control(pDX, IDC_LIST2, m_clist2);
DDX_Control(pDX, IDC_LIST1, m_clist1);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CPage2, CPropertyPage)
//{{AFX_MSG_MAP(CPage2)
ON_WM_CANCELMODE()
ON_BN_CLICKED(IDC_FIND, OnFind)
ON_BN_CLICKED(IDC_ALL, OnAll)
ON_BN_CLICKED(IDC_SHOW, OnShow)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CPage2 message handlers
BOOL CPage2::OnInitDialog()
{
CPropertyPage::OnInitDialog();
// TODO: Add extra initialization here
m_clist1.SetExtendedStyle(LVS_EX_GRIDLINES );
m_clist2.SetExtendedStyle(LVS_EX_GRIDLINES );
m_clist1.InsertColumn(0,"学号",LVCFMT_LEFT,45);
m_clist1.InsertColumn(1,"姓名",LVCFMT_LEFT,45);
m_clist1.InsertColumn(2,"数学",LVCFMT_LEFT,45);
m_clist1.InsertColumn(3,"物理",LVCFMT_LEFT,45);
m_clist1.InsertColumn(4,"化学",LVCFMT_LEFT,45);
m_clist1.InsertColumn(5,"英语",LVCFMT_LEFT,45);
m_clist1.InsertColumn(6,"政治",LVCFMT_LEFT,45);
m_clist1.InsertColumn(7,"总成绩",LVCFMT_LEFT,60);
m_clist1.InsertColumn(8,"平均成绩",LVCFMT_LEFT,65);
m_clist2.InsertColumn(0,"科目",LVCFMT_LEFT,45);
m_clist2.InsertColumn(1,"总成绩",LVCFMT_LEFT,50);
m_clist2.InsertColumn(2,"平均成绩",LVCFMT_LEFT,65);
m_clist2.InsertColumn(3,"及格人数",LVCFMT_LEFT,65);
m_clist2.InsertColumn(4,"优秀人数",LVCFMT_LEFT,65);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CPage2::OnCancelMode()
{
CPropertyPage::OnCancelMode();
// TODO: Add your message handler code here
}
void CPage2::OnFind()
{
// TODO: Add your control notification handler code here
CFindDlg findialg;
if(findialg.DoModal()==IDOK)
{
m_set.Open();
if(findialg.m_getstring2==">=")
m_set.m_strFilter.Format("[%s]>=%.f",findialg.m_getstring1,findialg.m_ntiaojian);
if(findialg.m_getstring2=="=")
m_set.m_strFilter.Format("[%s]=%.f",findialg.m_getstring1,findialg.m_ntiaojian);
if(findialg.m_getstring2=="<=")
m_set.m_strFilter.Format("[%s]<=%.f",findialg.m_getstring1,findialg.m_ntiaojian);
m_clist1.DeleteAllItems();
m_set.Requery();
if(m_set.IsEOF()) { AfxMessageBox(_T("1班没有您需要的记录! :("),MB_OKCANCEL,0); m_set.Close();}
else
{
int n = 0 ;
while(!m_set.IsEOF())
{
m_clist1.InsertItem(n,"");
CString s;
s.Format("%d",m_set.m_column1);
m_clist1.SetItemText(n,0,s);
m_clist1.SetItemText(n,1,m_set.m_column2);
s.Format("%.1f",m_set.m_column3);
m_clist1.SetItemText(n,2,s);
s.Format("%.1f",m_set.m_column4);
m_clist1.SetItemText(n,3,s);
s.Format("%.1f",m_set.m_column5);
m_clist1.SetItemText(n,4,s);
s.Format("%.1f",m_set.m_column6);
m_clist1.SetItemText(n,5,s);
s.Format("%.1f",m_set.m_column7);
m_clist1.SetItemText(n,6,s);
s.Format("%.1f",m_set.m_column8);
m_clist1.SetItemText(n,7,s);
s.Format("%.2f",m_set.m_column9);
m_clist1.SetItemText(n,8,s);
m_set.MoveNext();
n++;
}
m_set.Close();
}
m_set.Open(AFX_DB_USE_DEFAULT_TYPE,"[NO2STUDENT]",NULL);
if(findialg.m_getstring2==">=")
m_set.m_strFilter.Format("[%s]>=%.f",findialg.m_getstring1,findialg.m_ntiaojian);
if(findialg.m_getstring2=="=")
m_set.m_strFilter.Format("[%s]=%.f",findialg.m_getstring1,findialg.m_ntiaojian);
if(findialg.m_getstring2=="<=")
m_set.m_strFilter.Format("[%s]<=%.f",findialg.m_getstring1,findialg.m_ntiaojian);
// m_clist1.DeleteAllItems();
m_set.Requery();
if(m_set.IsEOF()) { AfxMessageBox(_T("1,2班都没有您需要的记录! :("),MB_OKCANCEL,0); m_set.Close();}
else
{
int n = 0 ;
while(!m_set.IsEOF())
{
m_clist1.InsertItem(n,"");
CString s;
s.Format("%d",m_set.m_column1);
m_clist1.SetItemText(n,0,s);
m_clist1.SetItemText(n,1,m_set.m_column2);
s.Format("%.1f",m_set.m_column3);
m_clist1.SetItemText(n,2,s);
s.Format("%.1f",m_set.m_column4);
m_clist1.SetItemText(n,3,s);
s.Format("%.1f",m_set.m_column5);
m_clist1.SetItemText(n,4,s);
s.Format("%.1f",m_set.m_column6);
m_clist1.SetItemText(n,5,s);
s.Format("%.1f",m_set.m_column7);
m_clist1.SetItemText(n,6,s);
s.Format("%.1f",m_set.m_column8);
m_clist1.SetItemText(n,7,s);
s.Format("%.2f",m_set.m_column9);
m_clist1.SetItemText(n,8,s);
m_set.MoveNext();
n++;
}
m_set.Close();
}
}
}
void CPage2::OnAll()
{
// TODO: Add your control notification handler code here
m_clist1.DeleteAllItems();
if(m_set.IsOpen()) m_set.Close();
m_set.m_strFilter.Empty();
m_set.Open();
m_nRecordCount = 0 ;
int n = 0 ;
while(!m_set.IsEOF())
{
m_clist1.InsertItem(n,"");
CString s;
s.Format("%d",m_set.m_column1);
m_clist1.SetItemText(n,0,s);
m_clist1.SetItemText(n,1,m_set.m_column2);
s.Format("%.1f",m_set.m_column3);
m_clist1.SetItemText(n,2,s);
s.Format("%.1f",m_set.m_column4);
m_clist1.SetItemText(n,3,s);
s.Format("%.1f",m_set.m_column5);
m_clist1.SetItemText(n,4,s);
s.Format("%.1f",m_set.m_column6);
m_clist1.SetItemText(n,5,s);
s.Format("%.1f",m_set.m_column7);
m_clist1.SetItemText(n,6,s);
s.Format("%.1f",m_set.m_column8);
m_clist1.SetItemText(n,7,s);
s.Format("%.2f",m_set.m_column9);
m_clist1.SetItemText(n,8,s);
m_nRecordCount++;
m_set.MoveNext();
n++;
}
m_set.Close();
m_set.Open(AFX_DB_USE_DEFAULT_TYPE,"[NO2STUDENT]",NULL);
// int n = 0 ;
while(!m_set.IsEOF())
{
m_clist1.InsertItem(n,"");
CString s;
s.Format("%d",m_set.m_column1);
m_clist1.SetItemText(n,0,s);
m_clist1.SetItemText(n,1,m_set.m_column2);
s.Format("%.1f",m_set.m_column3);
m_clist1.SetItemText(n,2,s);
s.Format("%.1f",m_set.m_column4);
m_clist1.SetItemText(n,3,s);
s.Format("%.1f",m_set.m_column5);
m_clist1.SetItemText(n,4,s);
s.Format("%.1f",m_set.m_column6);
m_clist1.SetItemText(n,5,s);
s.Format("%.1f",m_set.m_column7);
m_clist1.SetItemText(n,6,s);
s.Format("%.1f",m_set.m_column8);
m_clist1.SetItemText(n,7,s);
s.Format("%.2f",m_set.m_column9);
m_clist1.SetItemText(n,8,s);
m_nRecordCount++;
m_set.MoveNext();
n++;
}
m_set.Close();
}
void CPage2::OnShow()
{
// TODO: Add your control notification handler code here
m_clist2.DeleteAllItems();
CString s;
m_bSet.Open();
int i=0;
m_bSet.MoveFirst();
do
{
m_clist2.InsertItem(i,m_bSet.m_column1,0);
i++;
m_bSet.MoveNext();
} while(!m_bSet.IsEOF());
m_bSet.MoveFirst();
for(i=0;i<=4;i++)
{
score[i][1]=m_bSet.m_column2;
score[i][3]=(float)m_bSet.m_column4;
score[i][4]=(float)m_bSet.m_column5;
if(i!=4)
m_bSet.MoveNext();
}
m_bSet.Close();
m_bSet.Open(AFX_DB_USE_DEFAULT_TYPE,"[NO2OBJECT]");
for(i=0;i<5;i++)
{
score[i][1]+=m_bSet.m_column2;
score[i][2]=score[i][1]/m_nRecordCount;
score[i][3]+=(float)m_bSet.m_column4;
score[i][4]+=(float)m_bSet.m_column5;
if(!m_bSet.IsEOF())
m_bSet.MoveNext();
}
m_bSet.Close();
for(i=0;i<5;i++)
{
s.Format("%.1f",score[i][1]);
m_clist2.SetItemText(i,1,s);
s.Format("%.2f",score[i][2]);
m_clist2.SetItemText(i,2,s);
s.Format("%d",(int)score[i][3]);
m_clist2.SetItemText(i,3,s);
s.Format("%d",(int)score[i][4]);
m_clist2.SetItemText(i,4,s);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -