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

📄 myleadin.cpp

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

#include "stdafx.h"
#include "ScoreGather.h"
#include "MyLeadIn.h"
#include ".\myleadin.h"


// CMyLeadIn 对话框

IMPLEMENT_DYNAMIC(CMyLeadIn, CDialog)
CMyLeadIn::CMyLeadIn(CWnd* pParent /*=NULL*/)
	: CDialog(CMyLeadIn::IDD, pParent)
	, WindowsType(FALSE)
{
}

CMyLeadIn::~CMyLeadIn()
{
}

void CMyLeadIn::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_YEAR, m_year);
	DDX_Control(pDX, IDC_SCHOOL, m_school);
	DDX_Control(pDX, IDC_COURSE, m_course);
	DDX_Control(pDX, IDC_CLASS, m_class);
	DDX_Control(pDX, IDC_DATATEXT, m_datatext);
	DDX_Control(pDX, IDC_PROGRESS1, m_progress1);
	DDX_Control(pDX, IDC_STARTIN, m_startin);
	DDX_Control(pDX, ID_OK, m_ok);
	DDX_Control(pDX, IDC_BROWSE, m_browse);
	DDX_Control(pDX, IDC_PLACENAME, m_placename);
}


BEGIN_MESSAGE_MAP(CMyLeadIn, CDialog)
	ON_BN_CLICKED(IDOK, OnBnClickedOk)
	ON_BN_CLICKED(IDCANCEL, OnBnClickedCancel)
	ON_BN_CLICKED(ID_OK, OnBnClickedOk)
	ON_BN_CLICKED(IDC_STARTIN, OnBnClickedStartin)
	ON_BN_CLICKED(IDC_BROWSE, OnBnClickedBrowse)
	ON_EN_SETFOCUS(IDC_PATHNAME, OnEnSetfocusPathname)
	ON_EN_SETFOCUS(IDC_DATATEXT, OnEnSetfocusDatatext)
	ON_WM_ERASEBKGND()
	ON_WM_CTLCOLOR()
END_MESSAGE_MAP()


// CMyLeadIn 消息处理程序

void CMyLeadIn::OnBnClickedCancel()
{
	// TODO: 在此添加控件通知处理程序代码
	CDialog::OnCancel();
}

void CMyLeadIn::OnBnClickedOk()
{
	CDialog::OnOK();
}

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

	m_tooltip.Create(this,TTS_ALWAYSTIP);
	m_tooltip.Activate(TRUE);
	if(WindowsType)
	{
		SetDlgItemText(IDC_FILETEXT,"选择目标文件");
		SetDlgItemText(IDC_STARTIN,"开始导出");
		SetWindowText(_T("导出数据"));
		m_tooltip.AddTool(GetDlgItem(IDC_STARTIN),IDS_STARTOUT);
	}
	else
		m_tooltip.AddTool(GetDlgItem(IDC_STARTIN),IDS_STARTIN);
	m_tooltip.AddTool(GetDlgItem(IDC_PATHNAME),IDS_PATH_NAME);
	m_tooltip.AddTool(GetDlgItem(IDC_BROWSE),IDS_BROWSE);
	m_tooltip.AddTool(GetDlgItem(IDC_YEAR),IDS_YEAR);
	m_tooltip.AddTool(GetDlgItem(IDC_PLACENAME),IDS_SCN_PLACENAME);
	m_tooltip.AddTool(GetDlgItem(IDC_SCHOOL),IDS_SCHOOL);
	m_tooltip.AddTool(GetDlgItem(IDC_CLASS),IDS_CLASS);
	m_tooltip.AddTool(GetDlgItem(IDC_COURSE),IDS_COURSE);
	m_tooltip.AddTool(GetDlgItem(IDC_DATATEXT),IDS_DATATEXT);
	m_tooltip.AddTool(GetDlgItem(IDC_PROGRESS1),IDS_PROGRESS1);
	m_tooltip.AddTool(GetDlgItem(ID_OK),IDS_CANCEL);
	m_year.AddString("全部");
	m_year.SetCurSel(m_year.FindString(0,"全部"));
	m_placename.AddString("全部");
	m_placename.SetCurSel(m_year.FindString(0,"全部"));
	m_school.AddString("全部");
	m_school.SetCurSel(m_year.FindString(0,"全部"));
	m_course.AddString("全部");
	m_course.SetCurSel(m_year.FindString(0,"全部"));
	m_class.AddString("全部");
	m_class.SetCurSel(m_year.FindString(0,"全部"));
	CString strSQL;
	strSQL="select * from yearcourse";
	HRESULT hTRes;
	hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
	if (SUCCEEDED(hTRes))
	{
		hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
			((CScoreGatherApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
			adOpenDynamic,adLockPessimistic,adCmdText);
		CString str_field;
		while(!(m_pRecordset->adoEOF))
		{
			str_field=p_MySetClass->GetString(m_pRecordset->GetCollect("my_year"));
			if(m_year.FindString(0,str_field)==CB_ERR)
				m_year.AddString(str_field);
			str_field=p_MySetClass->GetString(m_pRecordset->GetCollect("my_coursename"));
			if(m_course.FindString(0,str_field)==CB_ERR)
				m_course.AddString(str_field);
			if(!(m_pRecordset->adoEOF))
				m_pRecordset->MoveNext();
		}
	}
	m_pRecordset->Close();
	m_pRecordset==NULL;
	strSQL="select * from schoolnumber";
	hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
	if (SUCCEEDED(hTRes))
	{
		hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
			((CScoreGatherApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
			adOpenDynamic,adLockPessimistic,adCmdText);
		CString str_field;
		while(!(m_pRecordset->adoEOF))
		{
			str_field=p_MySetClass->GetString(m_pRecordset->GetCollect("my_placename"));
			if(m_placename.FindString(0,str_field)==CB_ERR)
				m_placename.AddString(str_field);
			str_field=p_MySetClass->GetString(m_pRecordset->GetCollect("my_schoolname"));
			if(m_school.FindString(0,str_field)==CB_ERR)
				m_school.AddString(str_field);
			str_field=p_MySetClass->GetString(m_pRecordset->GetCollect("my_gradeclassname"));
			if(m_class.FindString(0,str_field)==CB_ERR)
				m_class.AddString(str_field);
			if(!(m_pRecordset->adoEOF))
				m_pRecordset->MoveNext();
		}
	}
	m_pRecordset->Close();
	m_pRecordset==NULL;
	return TRUE;
}

void CMyLeadIn::OnBnClickedStartin()
{
	// 开始导入/导出数据
}

void CMyLeadIn::OnBnClickedBrowse()
{
	SetDlgItemText(IDC_PATHNAME,"");
	CString filter="数据文件(*.xlk)|*.xlk|";
	CString WindowText;
	GetWindowText(WindowText);
	if(WindowText==_T("导出数据"))
	{
		CFileDialog file(FALSE,".xlk",NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,filter);
		file.m_ofn.lpstrTitle="保存数据文件";
		if(file.DoModal()==IDOK)
			SetDlgItemText(IDC_PATHNAME,file.GetPathName());
	}
	else
	{
		CFileDialog file(TRUE,NULL,NULL,OFN_HIDEREADONLY,filter);
		file.m_ofn.lpstrTitle="打开数据文件";
		if(file.DoModal()==IDOK)
			SetDlgItemText(IDC_PATHNAME,file.GetPathName());
	}
}

void CMyLeadIn::OnEnSetfocusPathname()
{
	GotoDlgCtrl(GetDlgItem(IDC_STATIC));
}

void CMyLeadIn::OnEnSetfocusDatatext()
{
	GotoDlgCtrl(GetDlgItem(IDC_STATIC));
}

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

BOOL CMyLeadIn::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 CMyLeadIn::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 CMyLeadIn::OnCancel()
{
}

void CMyLeadIn::OnOK()
{
}

⌨️ 快捷键说明

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