📄 finddlg.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 + -