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

📄 finddlg.cpp

📁 vc编写的简单的学生成绩管理系统
💻 CPP
字号:
//////////////////////////////////////////
//the FindDlg.cpp 

#include "FindDlg.h"
#include "MenuID.h"
#include "hStudent.h"
#include "StuFrame.h"

/////////////////////////////////////
//CFindDlg::CFindDlg: constructor

CFindDlg::CFindDlg(CWnd* parentWnd) : CStuDlg(parentWnd)
{
	m_parentWnd = parentWnd;      //引用父窗体
    SetWindowText(_T("信息查找"));//设置窗口标题
	CreateChildControl();         //建立子窗体
}

/////////////////////////////////////
//CFindDlg::~CFindDlg: destructor
CFindDlg::~CFindDlg()
{

}

/////////////////////////////////////
//CFindDlg::CreateChildControl: 
//Create child controls

void CFindDlg::CreateChildControl()
{
	m_wndGroup.Create(_T("信息查找"),WS_CHILD | WS_VISIBLE | BS_GROUPBOX,
		CRect(20, 20, 400, 250),this,UINT(-1));
	
	m_wndRadioName.Create(_T("姓名"),WS_CHILD | WS_VISIBLE | BS_RADIOBUTTON,
		CRect(30, 50, 80, 70), this, ID_FIND_NAME);

	m_wndRadioID.Create(_T("学号"),WS_CHILD | WS_VISIBLE | BS_RADIOBUTTON,
		CRect(100, 50, 150, 70), this, ID_FIND_ID);

	m_wndEdit.Create(WS_CHILD | WS_VISIBLE | WS_BORDER,
		CRect(30, 80, 130, 100), this, ID_FIND_FINDEDIT);

	m_wndFind.Create(_T("查找"),WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
		CRect(140, 80, 210, 100), this, ID_FIND_OK);

	m_wndAll.Create(_T("全部"),WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
		CRect(220, 80, 290, 100), this, ID_FIND_ALL);

	m_wndCancel.Create(_T("关闭"),WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
		CRect(200, 260, 280, 280), this, ID_FIND_CANCEL);

}

///////////////////////////////////////////
//message map and member functions

BEGIN_MESSAGE_MAP(CFindDlg, CStuDlg)
    ON_BN_CLICKED(ID_FIND_CANCEL,OnCancelClick)
	ON_BN_CLICKED(ID_FIND_OK,OnFindClick)
	ON_BN_CLICKED(ID_FIND_ALL,OnAllClick)
	ON_BN_CLICKED(ID_FIND_NAME,OnRadioNameClick)
	ON_BN_CLICKED(ID_FIND_ID,OnRadioIDClick)
END_MESSAGE_MAP() //end message map

//////////////////////////////////////////
//CFindDlg::OnCancelClick
//m_wndAll control's handler

void CFindDlg::OnCancelClick()
{
	DestroyWindow();
}

//////////////////////////////////////////
//CFindDlg::OnRadioNameClick
//m_wndRadioName control's handler

void CFindDlg::OnRadioNameClick()
{
	m_wndRadioName.SetCheck(TRUE);
	m_wndRadioID.SetCheck(FALSE);
}

/////////////////////////////////////////
//CFindDlg::OnRadioIDClick
//m_wndRadioID control's handler

void CFindDlg::OnRadioIDClick()
{
	m_wndRadioID.SetCheck(TRUE);
	m_wndRadioName.SetCheck(FALSE);
}

/////////////////////////////////////////
//CFindDlg::OnFindClick
//m_wndFind control's handler

void CFindDlg::OnFindClick()
{
	CString strFind;
    
	m_wndEdit.GetWindowText(strFind);
	if (strFind == "")
	{
		AfxMessageBox("请输入查找内容!");
		return;
	}
	if (!m_wndRadioName.GetCheck() && !m_wndRadioID.GetCheck())
	{
		AfxMessageBox("请选择查找条件!");
		return;
	}

	CStudent* pstu = NULL;
	CStuFrame* pMainWnd = (CStuFrame*)m_parentWnd;
	//
	// 按姓名查找
	//
	if (m_wndRadioName.GetCheck())
	{
		pstu = pMainWnd->GetStudbObj()->FindRecord(
			(LPTSTR)(LPCTSTR)strFind);
	}

	//
	// 按学生ID查找
	//
	else if (m_wndRadioID.GetCheck())
	{
		pstu = pMainWnd->GetStudbObj()->FindRecord(
			atoi((LPCTSTR)strFind)); //atoi: 字符串转换为整数
	}
    
	//
	// 没有此学生
	//
	if (pstu == NULL)
	{
		AfxMessageBox("找不到此学生的信息!");
		return;
	}
    
	//
	// 清空主窗体中的ListBox控件中的数据
	// 重新载入已查找到的数据到LISTBOX
	//

	pMainWnd->GetListControl()->ResetContent(); 
	pMainWnd->AddStrToList(pstu);
		
}

/////////////////////////////////////////
//CFindDlg::OnAllClick
//m_wndAll control's handler

void CFindDlg::OnAllClick()
{
	//
	// 清空主窗体中的ListBox控件中的数据
	// 重新截入数据文件
	//
	CStuFrame* pMainWnd = (CStuFrame*)m_parentWnd;
	pMainWnd->GetListControl()->ResetContent();
    pMainWnd->LoadFile();
}

⌨️ 快捷键说明

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