📄 inputdlg.cpp
字号:
#include "InputDlg.h"
#include "MenuID.h"
#include "StuFrame.h"
//////////////////////////////////
// CInputDlg::CInputDlg
// constructor
CInputDlg::CInputDlg(CWnd* parentWnd) : CStuDlg(parentWnd)
{
m_parentWnd = parentWnd;
SetWindowText(_T("信息录入"));
CreateChildControl(); //建立子窗体
ClearEditDate();
}
/////////////////////////////////
// CInputDlg::~CInputDlg
// destructor
CInputDlg::~CInputDlg()
{
}
////////////////////////////////////
// message map and member functions
BEGIN_MESSAGE_MAP(CInputDlg,CStuDlg)
//ON_WM_CREATE()
ON_BN_CLICKED(ID_INPUT_OK,OnInput)
ON_BN_CLICKED(ID_INPUT_CANCEL,OnCancel)
ON_WM_CHAR()
ON_WM_SETFOCUS()
END_MESSAGE_MAP() // end message map
////////////////////////////////////
// create the child controls
void CInputDlg::CreateChildControl()
{
m_wndGroup.Create(_T("信息录入"),WS_CHILD | WS_VISIBLE | BS_GROUPBOX,
CRect(10,10,420,250),this,UINT(-1));
m_wndButton[0].Create(_T("确定"),WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
CRect(230,260,310,285),this,ID_INPUT_OK);
m_wndButton[1].Create(_T("取消"),WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
CRect(330,260,410,285),this,ID_INPUT_CANCEL);
//
// 建立STATIC控件
//
m_wndStatic[0].Create(_T("姓名:"),WS_CHILD | WS_VISIBLE | SS_LEFT,
CRect(20,30,60,50),this,UINT(-2));
m_wndStatic[1].Create(_T("学号:"),WS_CHILD | WS_VISIBLE | SS_LEFT,
CRect(220,30,260,50),this,UINT(-3));
m_wndStatic[2].Create(_T("性别:"),WS_CHILD | WS_VISIBLE | SS_LEFT,
CRect(20,70,60,90),this,UINT(-4));
m_wndStatic[3].Create(_T("电话:"),WS_CHILD | WS_VISIBLE | SS_LEFT,
CRect(220,70,260,90),this,UINT(-5));
m_wndStatic[4].Create(_T("地址:"),WS_CHILD | WS_VISIBLE | SS_LEFT,
CRect(20,110,60,130),this,UINT(-6));
m_wndStatic[5].Create(_T("语文:"),WS_CHILD | WS_VISIBLE | SS_LEFT,
CRect(220,110,260,130),this,UINT(-7));
m_wndStatic[6].Create(_T("英语:"),WS_CHILD | WS_VISIBLE | SS_LEFT,
CRect(20,150,60,170),this,UINT(-8));
m_wndStatic[7].Create(_T("数学:"),WS_CHILD | WS_VISIBLE | SS_LEFT,
CRect(220,150,260,170),this,UINT(-9));
//
// 建立EDIT控件
//
m_wndEdit[0].Create(WS_CHILD | WS_VISIBLE | WS_BORDER,
CRect(70,30,200,50),this,ID_INPUT_NAME);
m_wndNumEdit[0].Create(WS_CHILD | WS_VISIBLE | WS_BORDER,
CRect(270,30,400,50),this,ID_INPUT_ID);
m_wndEdit[1].Create(WS_CHILD | WS_VISIBLE | WS_BORDER,
CRect(70,70,200,90),this,ID_INPUT_SEX);
m_wndEdit[2].Create(WS_CHILD | WS_VISIBLE | WS_BORDER,
CRect(270,70,400,90),this,ID_INPUT_PHONE);
m_wndEdit[3].Create(WS_CHILD | WS_VISIBLE | WS_BORDER,
CRect(70,110,200,130),this,ID_INPUT_ADDRESS);
m_wndNumEdit[1].Create(WS_CHILD | WS_VISIBLE | WS_BORDER,
CRect(270,110,400,130),this,ID_INPUT_CH);
m_wndNumEdit[2].Create(WS_CHILD | WS_VISIBLE | WS_BORDER,
CRect(70,150,200,170),this,ID_INPUT_EN);
m_wndNumEdit[3].Create(WS_CHILD | WS_VISIBLE | WS_BORDER,
CRect(270,150,400,170),this,ID_INPUT_MA);
//设置各个EDIT控件的文件输入长度
SetEditTextLength();
}
////////////////////////////////////////
//CInputDlg::OnInput
//m_wndButton[0] control's handler
void CInputDlg::OnInput()
{
UpdateData(TRUE);
if (m_szName == "")
{
AfxMessageBox("请输入姓名!");
return;
}
else if (m_szSex == "")
{
AfxMessageBox("请输入性别!");
return;
}
else if (m_szPhone == "")
{
AfxMessageBox("请输入电话号码!");
return;
}
else if (m_szAddress == "")
{
AfxMessageBox("请输入您的地址!");
return;
}
//
// 增加到学生对像
//
CStudent stu;
stu.AddStudentName( (LPTSTR)(LPCTSTR)m_szName );
stu.AddStudentID( m_iID );
stu.AddStudentSex( (LPTSTR)(LPCTSTR)m_szSex );
stu.AddStudentPhone( (LPTSTR)(LPCTSTR)m_szPhone );
stu.AddStudentAddress( (LPTSTR)(LPCTSTR)m_szAddress );
stu.AddStudentGrade( m_fChinese,m_fEnglish,m_fMath );
//
// 增加记录并保存到数据文件中
//
CStuFrame* pMainWnd = (CStuFrame*)m_parentWnd;
pMainWnd->GetStudbObj()->AppendRecord(&stu);
if (pMainWnd->GetStudbObj()->PostToDataBase())
{
//增加到主窗体的LISTBOX控件中
pMainWnd->AddStrToList(&stu);
MessageBox("录入成功!");
}
else
MessageBox("录入失败");
//清空EDIT内数据
ClearEditDate();
}
//////////////////////////////////////////
//CInputDlg::OnCancel
//m_wndButton[1] control's handler
void CInputDlg::OnCancel()
{
DestroyWindow();
}
//////////////////////////////////////////
//CInputDlg::DoDataExChangle
void CInputDlg::DoDataExchange(CDataExchange* pDX)
{
//CWnd::DoDataExchange(pDX);
DDX_Text(pDX,ID_INPUT_NAME,m_szName);
DDX_Text(pDX,ID_INPUT_ID,m_iID);
DDX_Text(pDX,ID_INPUT_SEX,m_szSex);
DDX_Text(pDX,ID_INPUT_PHONE,m_szPhone);
DDX_Text(pDX,ID_INPUT_ADDRESS,m_szAddress);
DDX_Text(pDX,ID_INPUT_CH,m_fChinese);
DDX_Text(pDX,ID_INPUT_EN,m_fEnglish);
DDX_Text(pDX,ID_INPUT_MA,m_fMath);
}
///////////////////////////////////////////
//CInputDlg::ClearEditDate
//
void CInputDlg::ClearEditDate()
{
m_wndEdit[0].SetWindowText("");
m_wndNumEdit[0].SetWindowText("0");
m_wndEdit[1].SetWindowText("");
m_wndEdit[2].SetWindowText("");
m_wndEdit[3].SetWindowText("");
m_wndNumEdit[1].SetWindowText("0.0");
m_wndNumEdit[2].SetWindowText("0.0");
m_wndNumEdit[3].SetWindowText("0.0");
}
/////////////////////////////////////////////////
//CInputDlg::SetEditTextLength
void CInputDlg::SetEditTextLength()
{
m_wndEdit[0].SetLimitText(8);
m_wndEdit[1].SetLimitText(4);
m_wndEdit[2].SetLimitText(28);
m_wndEdit[3].SetLimitText(98);
}
/////////////////////////////////////////////////
//CInputDlg::OnChar
void CInputDlg::OnChar(UINT nChar,UINT nRepCnt,UINT nFlags)
{
//
}
//////////////////////////////////////////////////
//CInputDlg::OnSetFocus
void CInputDlg::OnSetFocus(CWnd* pOldWnd)
{
m_wndEdit[0].SetFocus();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -