⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vv1.cpp

📁 体育信息管理系统
💻 CPP
字号:
// VV1.cpp : implementation file
//

#include "stdafx.h"
#include "ooo.h"
#include "VV1.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CVV1

IMPLEMENT_DYNCREATE(CVV1, CListView)

CVV1::CVV1()
{high1=120;high2=30;page=0;row=30;
}

CVV1::~CVV1()
{	COooApp*pp=(COooApp*)::AfxGetApp();
pp->b=0;

}


BEGIN_MESSAGE_MAP(CVV1, CListView)
	//{{AFX_MSG_MAP(CVV1)
	ON_COMMAND(ID_MENUITEM32782, OnMenuitem32782)
	ON_COMMAND(ID_MENUITEM32783, OnMenuitem32783)
	ON_COMMAND(ID_MENUITEM32784, OnMenuitem32784)
	ON_COMMAND(ID_MENUITEM32787, OnMenuitem32787)
	ON_COMMAND(ID_FILE_bb, CListView::OnFilePrint)
	ON_COMMAND(ID_FILE_aa, CListView::OnFilePrintPreview)

	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CVV1 drawing

void CVV1::OnDraw(CDC* pDC)
{
	CDocument* pDoc = GetDocument();
	// TODO: add draw code here
}

/////////////////////////////////////////////////////////////////////////////
// CVV1 diagnostics

#ifdef _DEBUG
void CVV1::AssertValid() const
{
	CListView::AssertValid();
}

void CVV1::Dump(CDumpContext& dc) const
{
	CListView::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CVV1 message handlers

void CVV1::OnInitialUpdate() 
{
	CListView::OnInitialUpdate();
	COooApp*pp=(COooApp*)::AfxGetApp();
pp->b=1;

CListCtrl&m_list=GetListCtrl();
	m_list.InsertColumn(0,"姓名",LVCFMT_LEFT,100);
	m_list.InsertColumn(1,"眼保健操",LVCFMT_LEFT,100);
	m_list.InsertColumn(2,"课间操",LVCFMT_LEFT,100);
	m_list.InsertColumn(3,"课外活动",LVCFMT_LEFT,100);
	m_list.InsertColumn(4,"日期",LVCFMT_LEFT,100);
	m_list.SetBkColor(RGB(134,120,250));

	m_list.SetTextBkColor(RGB(0,200,0));
	m_list.ModifyStyle(LVS_TYPEMASK,LVS_REPORT);
	m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);		
	list();	
	
}

void CVV1::OnMenuitem32782() 
{
COooDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	CListCtrl&m_list=GetListCtrl();
COooApp*pp=(COooApp*)::AfxGetApp();
if(pp->e==0&&pp->c==0&&pp->d==0){
CC *prs;
prs=new CC(pDoc->m_pDB);
prs->Open(dbOpenDynaset,prs->GetDefaultSQL(),0);
CString str;
CW m_cw;
m_cw.m_date.GetCurrentTime();
	if(m_cw.DoModal()==IDOK){
	prs->AddNew();
	if(m_cw.name==""){MessageBox("请选择缺勤学生");}
	if(m_cw.aa==0&&m_cw.bb==0&&m_cw.cc==0){MessageBox("必须选择缺勤种类");}
	prs->m_column1=m_cw.name;	
	if(	m_cw.aa==1){ prs->m_column2=1;}
	if(m_cw.bb==1){prs->m_column3=1;}
	if(m_cw.cc==1){prs->m_column4=1;}
	prs->m_column5=m_cw.m_date.GetTime();
	prs->Update();
	}
list();	}
else
AfxMessageBox("请关闭报表窗口");return;}

void CVV1::OnMenuitem32783() 
{COooDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	CListCtrl&m_list=GetListCtrl();
COooApp*pp=(COooApp*)::AfxGetApp();
if(pp->e==0&&pp->c==0&&pp->d==0){
CC *prs;
prs=new CC(pDoc->m_pDB);
prs->Open(dbOpenDynaset,prs->GetDefaultSQL(),0);
int in=m_list.GetNextItem(-1,LVNI_SELECTED);
if(in==-1){AfxMessageBox("请选择要更改的记录");return;}
CString str;
str=m_list.GetItemText(in,0);	
CString ss("姓名=");
	ss+="'";
	ss+=str;
	ss+="'";
	prs->m_strFilter=ss;
	prs->Requery();
CW m_cw;
	if(m_cw.DoModal()==IDOK){
	prs->Edit();
	if(m_cw.name==""){MessageBox("请选择缺勤学生");return;}
	if(m_cw.aa==0&&m_cw.bb==0&&m_cw.cc==0){MessageBox("必须选择缺勤种类");return;}
	prs->m_column1=m_cw.name;
	prs->m_column2=0;
	prs->m_column3=0;
	prs->m_column4=0;
	if(	m_cw.aa==1){ prs->m_column2=1;}
	if(m_cw.bb==1){prs->m_column3=1;}
	if(m_cw.cc==1){prs->m_column4=1;}
	prs->m_column5=m_cw.m_date.GetTime();
	prs->Update();
	}
list();	
}
else
AfxMessageBox("请关闭报表窗口");return;

}

void CVV1::OnMenuitem32784() 
{COooDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	CListCtrl&m_list=GetListCtrl();
COooApp*pp=(COooApp*)::AfxGetApp();
if(pp->e==0&&pp->c==0&&pp->d==0){

CC *prs;
prs=new CC(pDoc->m_pDB);
prs->Open(dbOpenDynaset,prs->GetDefaultSQL(),0);
int in=m_list.GetNextItem(-1,LVNI_SELECTED);
if(in==-1){AfxMessageBox("请选择要删除的记录");return;}
CString str;
str=m_list.GetItemText(in,0);	
if(AfxMessageBox("是否删除:"+str,MB_YESNO)==IDYES){
CString ss("姓名=");
	ss+="'";
	ss+=str;
	ss+="'";
	prs->m_strFilter=ss;
	prs->Requery();
	prs->Delete();}	
list();	}
else
AfxMessageBox("请关闭报表窗口");return;


}

void CVV1::list()
{COooDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	CListCtrl&m_list=GetListCtrl();
	m_list.DeleteAllItems();
CC *prs;
prs=new CC(pDoc->m_pDB);
prs->Open(dbOpenDynaset,prs->GetDefaultSQL(),0);
CString str;
int i=0;if(prs->IsBOF()&&prs->IsEOF()){return;}
prs->MoveFirst();
while(!prs->IsEOF()){
	m_list.InsertItem(i,prs->m_column1);
	if(prs->m_column2==1){ m_list.SetItemText(i,1,"缺勤");}
	if(prs->m_column3==1){ m_list.SetItemText(i,2,"缺勤");}
	if(prs->m_column4==1){ m_list.SetItemText(i,3,"缺勤");}
	CString oo;
	oo=prs->m_column5.Format("%Y-%m-%d");
	m_list.SetItemText(i,4,oo);
i++;
prs->MoveNext();}
page=i;
delete prs;


}

COooDoc* CVV1::GetDocument()
{ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(COooDoc)));
	return (COooDoc*)m_pDocument;



}

void CVV1::OnPrint(CDC* pDC, CPrintInfo* pInfo) 
{
	COooApp*pp=(COooApp*)::AfxGetApp();
CFont font240,font100,font180,*po;
	font240.CreatePointFont(240,"楷体_GB2312",pDC);
	po=pDC->SelectObject(&font240);
	pDC->TextOut((100+5*high1)/3,20,"两操一活动缺勤表");
	font180.CreatePointFont(100,"楷体_GB2312",pDC);
	po=pDC->SelectObject(&font180);
	pDC->TextOut(50,60,pp->class1);
	pDC->TextOut((100+5*high1)/2-100,60,pp->date);
	pDC->TextOut((100+5*high1)-100,60,pp->teacher);
	font100.CreatePointFont(120,"楷体_GB2312",pDC);
	po=pDC->SelectObject(&font100);	
	
for(int i=0;i<row+1;i++){
	pDC->MoveTo(50,80+high2*i);
	pDC->LineTo(50+5*high1,80+high2*i);	
	}
	for(i=0;i<6;i++){
	pDC->MoveTo(50+high1*i,80);
	pDC->LineTo(50+high1*i,80+high2*row);	
	}

	CRect rect(50,80,50+high1,80+high2);
	pDC->DrawText("姓名",-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);
	rect.SetRect(50+high1*1,80,50+high1*2,80+high2);
	pDC->DrawText("眼保健操",-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);
	rect.SetRect(50+high1*2,80,50+high1*3,80+high2);
	pDC->DrawText("课间操",-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);
	rect.SetRect(50+high1*3,80,50+high1*4,80+high2);
	pDC->DrawText("课外活动",-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);
	rect.SetRect(50+high1*4,80,50+high1*5,80+high2);
	pDC->DrawText("日期",-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);
int page1=0;
	if((page/(row-1))<1){page1=1;}
else{if(page%(row-1)==0){page1=page/(row-1);}
else page1=page/(row-1)+1;}
pInfo->SetMaxPage(page1);
COooDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);

CC *prs;
prs=new CC(pDoc->m_pDB);
prs->Open(dbOpenDynaset,prs->GetDefaultSQL(),0);
if(pInfo->m_nCurPage==1)
{if(prs->GetRecordCount()){	prs->MoveFirst(); 
for(i=0;i<row-1;i++){
rect.SetRect(50,80+high2*(i+1),50+high1,80+high2*(i+2));
pDC->DrawText(prs->m_column1,-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);
if(prs->m_column2==1){
rect.SetRect(50+high1,80+high2*(i+1),50+high1*2,80+high2*(i+2));
pDC->DrawText("缺勤",-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);}
if(prs->m_column3==1){
rect.SetRect(50+high1*2,80+high2*(i+1),50+high1*3,80+high2*(i+2));
pDC->DrawText("缺勤",-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);}
if(prs->m_column4==1){
rect.SetRect(50+high1*3,80+high2*(i+1),50+high1*4,80+high2*(i+2));
pDC->DrawText("缺勤",-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);}
CString str;
str=prs->m_column5.Format("%Y-%m-%d");
rect.SetRect(50+high1*4,80+high2*(i+1),50+high1*5,80+high2*(i+2));
pDC->DrawText(str,-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);

if(prs->IsEOF()){return;}
else
prs->MoveNext();}}}
if(pInfo->m_nCurPage==2)
{	prs->Move(row-1); 
for(i=0;i<row-1;i++){
rect.SetRect(50,80+high2*(i+1),50+high1,80+high2*(i+2));
pDC->DrawText(prs->m_column1,-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);
if(prs->m_column2==1){
rect.SetRect(50+high1,80+high2*(i+1),50+high1*2,80+high2*(i+2));
pDC->DrawText("缺勤",-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);}
if(prs->m_column3==1){
rect.SetRect(50+high1*2,80+high2*(i+1),50+high1*3,80+high2*(i+2));
pDC->DrawText("缺勤",-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);}
if(prs->m_column4==1){
rect.SetRect(50+high1*3,80+high2*(i+1),50+high1*4,80+high2*(i+2));
pDC->DrawText("缺勤",-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);}
CString str;
str=prs->m_column5.Format("%Y-%m-%d");
rect.SetRect(50+high1*4,80+high2*(i+1),50+high1*5,80+high2*(i+2));
pDC->DrawText(str,-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);

if(prs->IsEOF()){return;}
else
prs->MoveNext();}

}
font100.DeleteObject();
font240.DeleteObject();
font180.DeleteObject();	
	CListView::OnPrint(pDC, pInfo);
}

void CVV1::OnPrepareDC(CDC* pDC, CPrintInfo* pInfo) 
{
pDC->SetMapMode(MM_ANISOTROPIC);
	CSize size=CSize(800,600);
	pDC->SetWindowExt(size);
	int a=pDC->GetDeviceCaps(LOGPIXELSX);
	int b=pDC->GetDeviceCaps(LOGPIXELSY);
	long xx=(long)size.cx*a/96;
	long yy=(long)size.cy*b/96;
	pDC->SetViewportExt((int)xx,(int)yy);	
	CListView::OnPrepareDC(pDC, pInfo);
}

BOOL CVV1::OnPreparePrinting(CPrintInfo* pInfo) 
{
	
	return CListView::DoPreparePrinting(pInfo);
}

void CVV1::OnMenuitem32787() 
{
COooApp*pp=(COooApp*)::AfxGetApp();
	CH m_ch;m_ch.m_high1=120;m_ch.m_high2=30;m_ch.m_row=30;
if(m_ch.DoModal()==IDOK){
	high1=m_ch.m_high1;
	high2=m_ch.m_high2;
	row=m_ch.m_row;Invalidate();
pp->class1=m_ch.m_class;
pp->date=m_ch.m_date;
pp->teacher=m_ch.m_teacher;
}		
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -