列初始化代码:
BOOL CCourseDlg::OnInitDialog() { CDialog::OnInitDialog(); m_spinOpen.SetRange( 1, 8 ); m_nHours = 60; m_fCredit = 2.0; m_nOpen = 1; m_strType = "专修"; // 这里对专业组合框进行初如化 m_comboSpecial.AddString( "机械工程及其自动化" ); m_comboSpecial.AddString( "电气工程及其自动化" ); m_strSpecial = "机械工程及其自动化"; UpdateData(FALSE); return TRUE; } // return TRUE unless you set the focus to a control
② 用 MFC ClassWizard 为按钮 IDOK 添加 BN_CLICKED 的消息映射,并增加下列 代码:
void CCourseDlg::OnOK() { UpdateData(); m_strNO.TrimLeft(); if (m_strNO.IsEmpty()) { MessageBox("课程号不能为空!"); } m_strName.TrimLeft(); if (m_strName.IsEmpty()) { MessageBox("课程名称不能为空!"); } CDialog::OnOK(); }
return;
return;
5.添加 CEx_CtrlsDlg 程序代码 . ① 按 Ctrl+W 快捷键,打开 MFC ClassWizard 对话框,为列表框控件 IDC_LIST1 添加 控件变量 m_List,类型为 CListBox。 ② 用 MFC ClassWizard 为按钮 IDC_BUTTON_COURSE 添加 BN_CLICKED 消息映射, 并添加下列代码:
void CEx_CtrlsDlg::OnButtonCourse() { CCourseDlg dlg; if (IDOK != dlg.DoModal()) return; // 清除列表框原来的显示内容 while(m_List.GetCount()!=0) m_List.DeleteString(0); m_List.AddString( "课 程 号:"+dlg.m_strNO); m_List.AddString( "课程名称:"+dlg.m_strName);
m_List.AddString( "所属专业:"+dlg.m_strSpecial); m_List.AddString( "课程类型:"+dlg.m_strType); CString str; str.Format("开课学期:%d", dlg.m_nOpen ); m_List.AddString( str ); str.Format("课 时 数:%d", dlg.m_nHours ); m_List.AddString( str ); str.Format("学 分:%4.1f", dlg.m_fCredit); m_List.AddString( str ); }
③ 在 Ex_CtrlsDlg.cpp 文件的前面添加 CInputDlg 的头
文件包含:
#include "Ex_CtrlsDlg.h" #include "CourseDlg.h"
④ 编译运行并测试。 6.写出实验报告 . 分析上述运行结果以及思考与练习,写出实验
报告。
思考与练习
(1) CCourseDlg 类添加一个公有型 CString 成员变量 m_strOKText, 为 当通过 CCourseDlg 类对象将 m_strOKText 设为 “修改” CCourseDlg 对话框中的 , “添加” 按钮标题变成 “修改” , 试编程实现。 (2) 由于每学期的一门课程学分一般不超过 6 个学分, 因此若将学分编辑框改为组合框, 应如何修改和编程?
实验 2
实验目的和要求
常用控件(2)
(1)设计一个如图 2.1 所示的“学生基本信息”对话框。 (2)在实验 2 的基础上,实现功能:在图 2.1 中的“课程信息”按钮下方添加一个“学 生基本信息”按钮,单击该按钮,弹出“学生基本信息”对话框,单击“添加”按钮,学生 基本信息显示在列表框中。 (3)在 CEx_CtrlsDlg 对话框中添加一个滚动条和两个滑动条来调整对话框的背景颜色 的 3 个分量:R(红色分量) 、G(绿色分量)和 B(蓝色分量) ,结果如图 2.2 所示。
图 2.1 “学生基本信息”对话框
图 2.2
设置对话框背景颜色
实验准备和说明
(1)具备知识:滚动条、进展条、滑动条、时间和日历控件。 (2)创建本次实验工作文件夹“…\Visual C++程序\实验\实验 3” 。
实验内容和步骤
1.在实验 3 的
工作文件夹中复制 Ex_Ctrls 文件夹 . 将本书实验 2 中的 Ex_Ctrls 文件夹复制到实验 3 的工作文件夹中。 2.启动 Visual C++ 6.0 . 启动 Visual C++ 6.0
系统。 3.创建并添加“学生基本信息”对话框 . ① 选择“文件”→“打开工作区”菜单,将“…\Visual C++程序\实验\实验 3\Ex_Ctrls” 文件夹中的 Ex_Ctrls 项目打开。 ② 添加一个新的对话框资源,将 ID 号改为 IDD_INPUT,标题为“学生成绩输入” ,将 对话框字体改为“宋体,9 号” 。将 OK 和 Cancel 按钮标题改为“确定”和