运行环境:VC6.0
具备知识:对MFC的控件有一定的了解,包括图像列表、列表控件等。
实现功能:单击下图中的“学生课程成绩”按钮,弹出“学生课程成绩”对话框,单击“添加”按钮,学生课程成绩添加到列表控件。若选中列表项,“修改”按钮由原来的禁用变成可用,单击“修改”按钮,则弹出的“学生课程成绩”对话框中的“添加”按钮标题变成“修改”,单击“学生课程成绩”对话框中的“修改”按钮,该列表项的内容被修改。
1、创建对话框应用程序Ex_List,并设计其界面
① 选择“文件”→“新建”菜单,在弹出的“新建”对话框中选择“工程”页面,选择MFC AppWizard(exe),在工程框中输入Ex_List。
② 单击“确定”按钮,在出现的对话框中选择“基本对话(框)”应用程序类型,单击“完成”按钮。
③ 在对话框编辑器中,将对话框标题改为“列表控件”。
④ 调整对话框的大小,删除对话框中间的“TODO: 在这里设置对话控制。”静态文本控件和“确定”按钮控件,将“取消”按钮标题改为“退出”,并移至对话框的下方。
⑤ 添加两个按钮,一个是“学生课程成绩]按钮,ID为IDC_BUTTON_SCORE,另一个是“修改”按钮,ID为IDC_BUTTON_CHANGE。
⑥ 添加一个列表控件,取其默认ID号,将“查看”风格设为Report(报告),如图所示, 设置列表控件的“查看”风格。
2、添加并设计“学生课程成绩”对话框
① 按Ctrl+R快捷键,弹出“插入资源”对话框,在资源类型列表中选择Dialog,单击“新建”按钮。
② 将该对话框资源的ID设为IDD_SCORE,标题设为“学生课程成绩”,”字体设为“宋体,10号”。
③ 将OK和Cancel按钮的标题改为“添加”和“取消”。
④ 打开对话框网格,参看图4.2的控件布局,为对话框添加如表所示的一些控件。
表1 学生课程成绩对话框添加的控件
添加的控件 |
ID号 |
标 题 |
其 他 属 性 |
编辑框(学号) |
IDC_EDIT_STUNO |
—— |
默认 |
编辑框(课程号) |
IDC_EDIT_COURSENO |
—— |
默认 |
编辑框(成绩) |
IDC_EDIT_SCORE |
—— |
默认 |
编辑框(学分) |
IDC_EDIT_CREDIT |
—— |
默认 |
|
|
|
|
⑤ 按Ctrl+W快捷键或双击对话框资源模板的空白处,为IDD_SCORE创建一个对话框类CScoreDlg。
⑥ 打开ClassWizard的Member Variables页面,看Class name是否是CScoreDlg,选中所需的控件ID号,双击鼠标或单击Add Variables按钮。依次为表4.2控件增加成员变量。
表2 控件变量
控件ID号 |
变 量 类 别 |
变 量 类 型 |
变 量 名 |
范围和大小 |
IDC_EDIT_STUNO |
Value |
CString |
m_strStuNo |
|
IDC_EDIT_COURSENO |
Value |
CString |
m_strCourseNo |
|
IDC_EDIT_SCORE |
Value |
float |
m_fScore |
|
IDC_EDIT_CREDIT |
Value |
float |
m_fCredit |
|
|
|
|
|
|
3、完善CScoreDlg类代码
① 用MFC ClassWizard为按钮IDOK添加BN_CLICKED消息映射,并增加下列代码: