- 133
- 0
- 约3.79千字
- 约 11页
- 2016-12-02 发布于浙江
- 举报
VC学生成绩输入
VC++程序设计课程考核大作业
课程名称:VC++程序设计
题目:学生成绩输入
专业班级:电信1205班
姓名: 王俊
学号:0121209310513
日期:2015.06.26
设计方案及功能描述
学生成绩输入(内容包括文字和数字)
(1)建立一个单文档的应用项目(项目名称为学生姓名拼音首字母缩写)。
(2)在该应用项目下,建立一个对话框进行学生成绩输入,并更改对话框的标题。输入内容是姓名、学号、4门课的成绩。
(3)在对话框中采用编辑框、旋转按钮、滚动条等进行选择,其中二门课成绩采用旋转按钮,一门课成绩采用编辑框,一门课成绩采用滚动条进行输入。
(4)在应用项目主框架的菜单上设置一个菜单调用该对话框。
(5)在工具栏设置一个工具按钮,点击该工具按钮也可调用该对话框。
(6)将对话框的输入结果显示出来。
设计步骤:
创建一个默认的单文档应用程序文档WJ。
添加一个新的对话框资源,将ID号改为IDD_INPUT,标题为“学生成绩输入”,将“确定”和“取消”按钮移至对话框下方。
向对话框添加加如下图所示控件,调整控件的位置,如图所示。
图1.1 设计的学生成绩输入对话框
4、设置各控件的属性
姓名后编辑框的ID号为IDC_EDIT_NAME
学号后编辑框的ID号为IDC_EDIT_NO
成绩1后的编辑框的ID号为IDC_EDIT_S1
成绩2后的编辑框的ID号为IDC_EDIT_S2
成绩3后的编辑框的ID号为IDC_EDIT_S3
成绩1后旋转按钮控件的ID号为IDC_SPIN1,属性为自动结伴,右对齐,设置结伴整数
成绩2后旋转按钮控件的ID号为IDC_SPIN2,属性为自动结伴,右对齐。
成绩4后的简单组合框的ID号为IDC_COMBO1.
5.选择“编排”即“Tab Order”命令,或按快捷键Ctrl+D。此时每个控件的左上方都有一个数字,表明了当前Tab键次序,单击对话框中的控件,重新设置控件的Tab键次序,以保证旋转按钮控件的Tab键次序在相对应的编辑框之后,如下图所示。
图1.2 改变控件的Tab键次序
6.双击对话框模板空白处,为该对话框模板创建一个对话框类CInputDlg。
7.在ClassWizard的Member Variables页面中,确定Class name中是否已选择了CInputDlg选中所需的控件ID号,双击鼠标或单击Add Variables按钮,如下图所示。
图1.3 各控件的类别,类型,变量名
其中变量类型为CString的范围为20,float范围为0.0~100.0.
8.在MFC ClassWizard的Message Maps页面中,为CInputDlg添加WM_INITDIALOG消息映射,并添加如下代码。
BOOL CInputDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_spinScore1.SetRange(0,100);
m_spinScore2.SetRange(0,100);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
9.用MFC ClassWizard为CInputDlg增加IDC_SPIN2控件的UDN_DELTAPOS消息映射,并添加如下代码。
void CInputDlg::OnDeltaposSpinS2(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR;
// TODO: Add your control notification handler code here
UpdateData(TRUE);//将控件的内容保存到变量中
m_fScore2+=(float)pNMUpDown-iDelta * 0.5f;//一次变化0.5
if(m_fScore20.0)m_fScore2 = 0.0f;
if(m_fScore2100.0)m_fScore2 = 100.0f;
UpdateData(FALSE);//将变量的内容显示在控件中
*pResult = 0;
}
10. 用MFC ClassWizard为CInputDlg增加IDC_COMB
原创力文档

文档评论(0)