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

📄 myqueryindexdata.cpp

📁 一个学生考试成绩管理的半成品
💻 CPP
字号:
// MyQueryIndexData.cpp : 实现文件
//

#include "stdafx.h"
#include "ScoreGather.h"
#include "MyQueryIndexData.h"
#include ".\myqueryindexdata.h"


// CMyQueryIndexData 对话框

IMPLEMENT_DYNAMIC(CMyQueryIndexData, CDialog)
CMyQueryIndexData::CMyQueryIndexData(CWnd* pParent /*=NULL*/)
	: CDialog(CMyQueryIndexData::IDD, pParent)
{
}

CMyQueryIndexData::~CMyQueryIndexData()
{
}

void CMyQueryIndexData::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_YEAR1, m_year1);
	DDX_Control(pDX, IDC_YEAR2, m_year2);
	DDX_Control(pDX, IDC_YEAR3, m_year3);
	DDX_Control(pDX, IDC_COURSENAME, m_coursename);
	DDX_Control(pDX, IDC_PLACENAME, m_placename);
	DDX_Control(pDX, IDC_SCHOOLNAME, m_schoolname);
	DDX_Control(pDX, IDC_GRADELIST, m_gradelist);
	DDX_Control(pDX, IDC_CLASSSPIN, m_classspin);
	DDX_Control(pDX, IDC_CLASSNAME, m_classname);
	DDX_Control(pDX, IDC_TEACHERNAME, m_teachername);
	DDX_Control(pDX, IDC_SEGMENT, m_segment);
	DDX_Control(pDX, IDC_QUALIFIEDNUMBER, m_qualifiednumber);
	DDX_Control(pDX, IDC_GOOD, m_good);
	DDX_Control(pDX, IDC_GOODNUMBER, m_goodnumber);
	DDX_Control(pDX, IDC_LOW, m_low);
	DDX_Control(pDX, IDC_LOWNUMBER, m_lownumber);
	DDX_Control(pDX, IDC_AVERAGENUMBER, m_averagenumber);
	DDX_Control(pDX, IDC_AVERAGES, m_averages);
	DDX_Control(pDX, IDC_SPIN1, m_spin1);
	DDX_Control(pDX, IDC_LIST1, m_list1);
	DDX_Control(pDX, IDC_STATICDATA, m_staticdata);
	DDX_Control(pDX, IDC_QUERY, m_query);
	DDX_Control(pDX, IDC_ESC, m_esc);
}


BEGIN_MESSAGE_MAP(CMyQueryIndexData, CDialog)
	ON_BN_CLICKED(IDOK, OnBnClickedOk)
	ON_BN_CLICKED(IDCANCEL, OnBnClickedCancel)
	ON_BN_CLICKED(IDC_ESC, OnBnClickedEsc)
	ON_BN_CLICKED(IDC_QUERY, OnBnClickedQuery)
	ON_BN_CLICKED(IDC_RADIO1, OnBnClickedRadio1)
	ON_BN_CLICKED(IDC_RADIO2, OnBnClickedRadio2)
	ON_BN_CLICKED(IDC_RADIO3, OnBnClickedRadio3)
	ON_BN_CLICKED(IDC_RADIO4, OnBnClickedRadio4)
	ON_BN_CLICKED(IDC_RADIO5, OnBnClickedRadio5)
	ON_CBN_CLOSEUP(IDC_YEAR1, OnCbnCloseupYear1)
	ON_CBN_CLOSEUP(IDC_YEAR2, OnCbnCloseupYear2)
	ON_WM_VSCROLL()
	ON_WM_ERASEBKGND()
	ON_WM_CTLCOLOR()
	ON_EN_SETFOCUS(IDC_CLASSSPIN, OnEnSetfocusClassspin)
END_MESSAGE_MAP()


// CMyQueryIndexData 消息处理程序

BOOL CMyQueryIndexData::OnInitDialog()
{
	CDialog::OnInitDialog();

	VERIFY(m_font.CreateFont(22,-10,0,0,FW_NORMAL,FALSE,FALSE,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH | FF_SWISS,"Arial"));
	GetDlgItem(IDC_STATICDATA)->SetFont(&m_font,1);
	DWORD style;
	style=m_list1.GetExStyle();  //获取样式
	style=(style|LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT)&(~LVS_EX_CHECKBOXES) ; //设置样式
	m_list1.SetExtendedStyle(style); //应用样式
	m_tooltip.Create(this,TTS_ALWAYSTIP);
	m_tooltip.Activate(TRUE);
	m_tooltip.AddTool(GetDlgItem(IDC_RADIO1),IDS_RADIO1);
	m_tooltip.AddTool(GetDlgItem(IDC_RADIO2),IDS_RADIO2);
	m_tooltip.AddTool(GetDlgItem(IDC_RADIO3),IDS_RADIO3);
	m_tooltip.AddTool(GetDlgItem(IDC_RADIO4),IDS_RADIO4);
	m_tooltip.AddTool(GetDlgItem(IDC_RADIO5),IDS_RADIO5);
	m_tooltip.AddTool(GetDlgItem(IDC_RADIO5),IDS_RADIO5);
	m_tooltip.AddTool(GetDlgItem(IDC_QUERY),IDS_QUERY);
	m_tooltip.AddTool(GetDlgItem(IDC_ESC),IDS_OK_SYSTEMSET);
	m_tooltip.AddTool(GetDlgItem(IDC_YEAR1),IDS_YEAR1);
	m_tooltip.AddTool(GetDlgItem(IDC_YEAR2),IDS_YEAR2);
	m_tooltip.AddTool(GetDlgItem(IDC_YEAR3),IDS_YEAR3);
	m_tooltip.AddTool(GetDlgItem(IDC_COURSENAME),IDS_COURSENAME);
	m_tooltip.AddTool(GetDlgItem(IDC_PLACENAME),IDS_PLACENAME);
	m_tooltip.AddTool(GetDlgItem(IDC_SCHOOLNAME),IDS_SCHOOLNAME);
	m_tooltip.AddTool(GetDlgItem(IDC_GRADELIST),IDS_GRADELIST);
	m_tooltip.AddTool(GetDlgItem(IDC_SPIN1),IDS_SPIN1);
	m_tooltip.AddTool(GetDlgItem(IDC_CLASSSPIN),IDS_CLASSSPIN);
	m_tooltip.AddTool(GetDlgItem(IDC_CLASSNAME),IDS_CLASS);//
	m_tooltip.AddTool(GetDlgItem(IDC_TEACHERNAME),IDS_TEACHERNAME);//
	m_tooltip.AddTool(GetDlgItem(IDC_SEGMENT),IDS_SEGMENT);
	m_tooltip.AddTool(GetDlgItem(IDC_QUALIFIEDNUMBER),IDS_AVERAGENUMBER);//
	m_tooltip.AddTool(GetDlgItem(IDC_GOOD),IDS_GOOD);
	m_tooltip.AddTool(GetDlgItem(IDC_GOODNUMBER),IDS_AVERAGENUMBER);//
	m_tooltip.AddTool(GetDlgItem(IDC_LOW),IDS_LOW);
	m_tooltip.AddTool(GetDlgItem(IDC_LOWNUMBER),IDS_AVERAGENUMBER);//
	m_tooltip.AddTool(GetDlgItem(IDC_AVERAGENUMBER),IDS_AVERAGENUMBER);
	m_tooltip.AddTool(GetDlgItem(IDC_AVERAGES),IDS_AVERAGES);
	m_tooltip.AddTool(GetDlgItem(IDC_LIST1),IDS_LIST1);
	wnd_year1=GetDlgItem(IDC_YEAR1);
	wnd_year2=GetDlgItem(IDC_YEAR2);
	wnd_year3=GetDlgItem(IDC_YEAR3);
	wnd_coursename=GetDlgItem(IDC_COURSENAME);
	wnd_placename=GetDlgItem(IDC_PLACENAME);
	wnd_schoolname=GetDlgItem(IDC_SCHOOLNAME);
	wnd_gradelist=GetDlgItem(IDC_GRADELIST);
	wnd_classspin=GetDlgItem(IDC_CLASSSPIN);
	wnd_spin1=GetDlgItem(IDC_SPIN1);
	wnd_classname=GetDlgItem(IDC_CLASSNAME);
	wnd_teachername=GetDlgItem(IDC_TEACHERNAME);
	wnd_segment=GetDlgItem(IDC_SEGMENT);
	wnd_qualifiednumber=GetDlgItem(IDC_QUALIFIEDNUMBER);
	wnd_good=GetDlgItem(IDC_GOOD);
	wnd_goodnumber=GetDlgItem(IDC_GOODNUMBER);
	wnd_low=GetDlgItem(IDC_LOW);
	wnd_lownumber=GetDlgItem(IDC_LOWNUMBER);
	wnd_averagenumber=GetDlgItem(IDC_AVERAGENUMBER);
	wnd_averages=GetDlgItem(IDC_AVERAGES);
	for(int i=2005;i<=2055;i++)
	{
		CString string;
		string.Format("%d",i);
		m_year1.AddString(string);
	}
	for(int i=2006;i<=2056;i++)
	{
		CString string;
		string.Format("%d",i);
		m_year2.AddString(string);
	}
	m_year3.AddString("一");
	m_year3.AddString("二");
	m_gradelist.AddString("一年级");
	m_gradelist.AddString("二年级");
	m_gradelist.AddString("三年级");
	m_gradelist.AddString("四年级");
	m_gradelist.AddString("五年级");
	m_gradelist.AddString("六年级");
	m_gradelist.AddString("七年级");
	m_gradelist.AddString("八年级");
	m_gradelist.AddString("九年级");
	m_spin1.SetBase(0);
	m_spin1.SetRange(0,100);
	m_spin1.SetBuddy(GetDlgItem(IDC_CLASSSPIN));
	for(int i=70;i<=100;i++)
	{
		CString str;
		str.Format("%d",i);
		m_good.AddString(str+"分为标准");
	}
	for(int i=59;i>=0;i--)
	{
		CString str;
		str.Format("%d",i);
		m_low.AddString(str+"分为标准");
	}
	m_segment.AddString("10分");
	m_segment.AddString("5分");
	m_segment.AddString("2分");
	m_segment.AddString("4分");
	m_segment.AddString("20分");
	m_segment.AddString("25分");
	m_segment.AddString("50分");
	m_averages.AddString("(均分+及格率)÷2");
	m_averages.AddString("(均分+及格率+低分率)÷3");
	m_qualifiednumber.AddString("实考人数");
	m_qualifiednumber.AddString("应考人数");
	m_goodnumber.AddString("实考人数");
	m_goodnumber.AddString("应考人数");
	m_lownumber.AddString("实考人数");
	m_lownumber.AddString("应考人数");
	m_averagenumber.AddString("实考人数");
	m_averagenumber.AddString("应考人数");
	StartView();
	return TRUE;
}

void CMyQueryIndexData::OnBnClickedOk()
{
}

void CMyQueryIndexData::OnBnClickedCancel()
{
}

void CMyQueryIndexData::OnBnClickedEsc()
{
	CDialog::OnCancel();
}

void CMyQueryIndexData::OnBnClickedQuery()
{
	if(GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO5)!=0)
	{
		m_list1.ShowWindow(SW_HIDE);
		m_staticdata.ShowWindow(SW_SHOW);
		SetDlgItemText(IDC_STATICDATA,"数据处理中,请稍候……");
		//QUERY
		m_list1.ShowWindow(SW_SHOW);
		m_staticdata.ShowWindow(SW_HIDE);
	}
}

void CMyQueryIndexData::OnBnClickedRadio1()
{
	if(GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO5)==IDC_RADIO1)
	{
		StartView();
		wnd_year1->EnableWindow(1);
		wnd_year2->EnableWindow(1);
		wnd_year3->EnableWindow(1);
		wnd_coursename->EnableWindow(1);
		m_list1.InsertColumn(0,"学   年   度",LVCFMT_LEFT,300);
		m_list1.InsertColumn(1,"学        科",LVCFMT_LEFT,245);
	}
}

void CMyQueryIndexData::OnBnClickedRadio2()
{
	if(GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO5)==IDC_RADIO2)
	{
		StartView();
		wnd_year1->EnableWindow(1);
		wnd_year2->EnableWindow(1);
		wnd_year3->EnableWindow(1);
		wnd_placename->EnableWindow(1);
		wnd_schoolname->EnableWindow(1);
		m_list1.InsertColumn(0,"学   年   度",LVCFMT_LEFT,210);
		m_list1.InsertColumn(1,"乡        镇",LVCFMT_LEFT,170);
		m_list1.InsertColumn(2,"学        校",LVCFMT_LEFT,165);
	}
}

void CMyQueryIndexData::OnBnClickedRadio3()
{
	if(GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO5)==IDC_RADIO3)
	{
		StartView();
		wnd_year1->EnableWindow(1);
		wnd_year2->EnableWindow(1);
		wnd_year3->EnableWindow(1);
		wnd_placename->EnableWindow(1);
		wnd_schoolname->EnableWindow(1);
		wnd_gradelist->EnableWindow(1);
		wnd_classspin->EnableWindow(1);
		wnd_spin1->EnableWindow(1);
		m_list1.InsertColumn(0,"学   年   度",LVCFMT_LEFT,200);
		m_list1.InsertColumn(1,"乡      镇",LVCFMT_LEFT,130);
		m_list1.InsertColumn(2,"学      校",LVCFMT_LEFT,115);
		m_list1.InsertColumn(3,"年    级",LVCFMT_LEFT,100);
	}
}

void CMyQueryIndexData::OnBnClickedRadio4()
{
	if(GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO5)==IDC_RADIO4)
	{
		StartView();
		wnd_year1->EnableWindow(1);
		wnd_year2->EnableWindow(1);
		wnd_year3->EnableWindow(1);
		wnd_placename->EnableWindow(1);
		wnd_schoolname->EnableWindow(1);
		wnd_classname->EnableWindow(1);
		wnd_coursename->EnableWindow(1);
		wnd_teachername->EnableWindow(1);
		m_list1.InsertColumn(0,"学   年   度",LVCFMT_LEFT,200);
		m_list1.InsertColumn(1,"乡      镇",LVCFMT_LEFT,150);
		m_list1.InsertColumn(2,"学      校",LVCFMT_LEFT,140);
		m_list1.InsertColumn(3,"学    科",LVCFMT_LEFT,100);
		m_list1.InsertColumn(4,"班  级",LVCFMT_LEFT,100);
		m_list1.InsertColumn(5,"任课教师",LVCFMT_LEFT,120);
	}
}

void CMyQueryIndexData::OnBnClickedRadio5()
{
	if(GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO5)==IDC_RADIO5)
	{
		StartView();
		wnd_year1->EnableWindow(1);
		wnd_year2->EnableWindow(1);
		wnd_year3->EnableWindow(1);
		wnd_segment->EnableWindow(1);
		wnd_qualifiednumber->EnableWindow(1);
		wnd_good->EnableWindow(1);
		wnd_goodnumber->EnableWindow(1);
		wnd_low->EnableWindow(1);
		wnd_lownumber->EnableWindow(1);
		wnd_averagenumber->EnableWindow(1);
		wnd_averages->EnableWindow(1);
		m_list1.InsertColumn(0,"学   年   度",LVCFMT_LEFT,200);
		m_list1.InsertColumn(1,"是否排序",LVCFMT_CENTER,80);
		m_list1.InsertColumn(2,"及格率公式",LVCFMT_CENTER,120);
		m_list1.InsertColumn(3,"优良率公式",LVCFMT_CENTER,120);
		m_list1.InsertColumn(4,"低分率公式",LVCFMT_CENTER,120);
		m_list1.InsertColumn(5,"平均分公式",LVCFMT_CENTER,120);
		m_list1.InsertColumn(6,"均值公式",LVCFMT_CENTER,140);
	}
}

void CMyQueryIndexData::OnCbnCloseupYear1()
{
	m_year2.SetCurSel(m_year1.GetCurSel());
}

void CMyQueryIndexData::OnCbnCloseupYear2()
{
	m_year1.SetCurSel(m_year2.GetCurSel());
}

void CMyQueryIndexData::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
	if( pScrollBar->GetDlgCtrlID() == IDC_SPIN1 )
	{
		SetDlgItemInt(IDC_CLASSSPIN,nPos,1);
		CDialog::OnVScroll(nSBCode, nPos, pScrollBar);
	}
	else	
		CDialog::OnVScroll(nSBCode, nPos, pScrollBar);
}

void CMyQueryIndexData::StartView(void)
{
	wnd_year1->EnableWindow(0);
	wnd_year2->EnableWindow(0);
	wnd_year3->EnableWindow(0);
	wnd_coursename->EnableWindow(0);
	wnd_placename->EnableWindow(0);
	wnd_schoolname->EnableWindow(0);
	wnd_gradelist->EnableWindow(0);
	wnd_classspin->EnableWindow(0);
	wnd_spin1->EnableWindow(0);
	wnd_classname->EnableWindow(0);
	wnd_teachername->EnableWindow(0);
	wnd_segment->EnableWindow(0);
	wnd_qualifiednumber->EnableWindow(0);
	wnd_good->EnableWindow(0);
	wnd_goodnumber->EnableWindow(0);
	wnd_low->EnableWindow(0);
	wnd_lownumber->EnableWindow(0);
	wnd_averagenumber->EnableWindow(0);
	wnd_averages->EnableWindow(0);
	m_year1.SetCurSel(-1);
	m_year2.SetCurSel(-1);
	m_year3.SetCurSel(-1);
	SetDlgItemText(IDC_COURSENAME,"");
	SetDlgItemText(IDC_PLACENAME,"");
	SetDlgItemText(IDC_SCHOOLNAME,"");
	m_gradelist.SetCurSel(-1);
	SetDlgItemText(IDC_CLASSSPIN,"");
	m_classname.SetCurSel(-1);
	SetDlgItemText(IDC_TEACHERNAME,"");
	m_segment.SetCurSel(-1);
	m_qualifiednumber.SetCurSel(-1);
	m_good.SetCurSel(-1);
	m_goodnumber.SetCurSel(-1);
	m_low.SetCurSel(-1);
	m_lownumber.SetCurSel(-1);
	m_averagenumber.SetCurSel(-1);
	m_averages.SetCurSel(-1);
	m_list1.DeleteAllItems();
	for(int i=0;i<7;i++)
		m_list1.DeleteColumn(0);
}

BOOL CMyQueryIndexData::PreTranslateMessage(MSG* pMsg)
{
	m_tooltip.RelayEvent(pMsg);
	return CDialog::PreTranslateMessage(pMsg);
}

BOOL CMyQueryIndexData::OnEraseBkgnd(CDC* pDC)
{
	CBrush brush(RGB(250,220,250));
	CBrush* pOldBrush=pDC->SelectObject(&brush);
	CRect rcClip;
	pDC->GetClipBox(&rcClip);
	pDC->PatBlt(rcClip.left,rcClip.top,rcClip.Width(),rcClip.Height(),PATCOPY);
	pDC->SelectObject(pOldBrush);
	return TRUE;
}

HBRUSH CMyQueryIndexData::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
	if(nCtlColor!=CTLCOLOR_EDIT)
	{
		pDC->SetTextColor(RGB(40,20,255));
		pDC->SetBkMode(TRANSPARENT);
		HBRUSH B = CreateSolidBrush(RGB(250,220,250));
		return (HBRUSH) B;
	}
	else
		return CDialog::OnCtlColor(pDC, pWnd, nCtlColor); 
}

void CMyQueryIndexData::OnOK()
{
}

void CMyQueryIndexData::OnCancel()
{
}

void CMyQueryIndexData::OnEnSetfocusClassspin()
{
	GotoDlgCtrl(GetDlgItem(IDC_STATICDATA));
}

⌨️ 快捷键说明

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