?? 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 + -