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

📄 inputdlg.cpp

📁 vc编写的简单的学生成绩管理系统
💻 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 + -