ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:88.19KB ,
资源ID:11585719      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11585719.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(大学计算机C++实验四总结报告.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

大学计算机C++实验四总结报告.docx

1、大学计算机C+实验四总结报告 实验十 常用控件(1)实验目的和要求(1)创建一个默认的对话框应用程序Ex_Ctrls,如图2.1所示。(2)设计一个如图2.2所示的“课程信息”对话框。 图2.1 Ex_Ctrls对话框 图2.2 “课程信息”对话框(3)实现功能:单击图2.1中的“课程信息”按钮,弹出“学生基本信息”对话框,单击“添加”按钮,对话框内容显示在图2.1中的列表框中。实验准备和说明(1)具备知识:静态控件、按钮、编辑框、旋转按钮控件、列表框和组合框控件。(2)创建本次实验工作文件夹“Visual C+程序实验实验2”。实验内容和步骤1启动Visual C+ 6.0打开计算机,启动V

2、isual C+ 6.0系统。2创建一个默认的对话框应用程序Ex_Ctrls 选择“文件”“新建”菜单,在弹出的“新建”对话框中选择“工程”页面,选择MFC AppWizard(exe),在工程框中输入Ex_Ctrls,并将工程文件夹定位到“Visual C+程序实验实验2”。 单击“确定”按钮,在出现的Step 1对话框中选择“基本对话(框)”应用程序类型,单击“完成”按钮。 在对话框编辑器中,单击对话框工具栏上的切换网格按钮,显示对话框网格,将对话框标题改为“使用控件”。 调整对话框的大小,删除对话框中间的“TODO: 在这里设置对话控制。”静态文本控件和“确定”按钮控件,将“取消”按钮标

3、题改为“退出”,并移至对话框的下方。 向对话框中添加组框(Group)控件,标题设为“添加”,然后调整其大小和位置。 添加一个按钮,标题设为“课程信息”,ID设为IDC_BUTTON_COURSE。添加一个列表框,取其默认ID号,去掉Sort风格属性。3添加并设计“课程信息”对话框 按Ctrl+R快捷键,弹出“插入资源”对话框,在资源类型列表中选择Dialog,单击“新建”按钮。 将该对话框资源的ID设为IDD_COURSE,标题设为“课程信息”,字体设为“宋体,9号”。 将OK和Cancel按钮的标题改为“添加”和“取消”。 打开对话框网格,参看图2.2的控件布局,为对话框添加如表2.1所示

4、的一些控件。表2.1 课程信息对话框添加的控件添加的控件ID号标 题其 他 属 性编辑框(课程号)IDC_EDIT_COURSENO默认编辑框(课程名称)IDC_EDIT_COURSENAME默认组合框(所属专业)IDC_COMBO_SPECIAL默认组合框(课程类型)IDC_COMBO_TYPE默认编辑框(开课学期)IDC_EDIT_OPEN默认旋转按钮IDC_SPIN1Auto buddy、Set buddy integer、Right对齐,其余默认编辑框(课时数)IDC_EDIT_COURSEHOURS默认编辑框(学分)IDC_EDIT_CREDIT默认 右击添加的课程类型的组合框控件,

5、从弹出的快捷菜单中选择“属性”命令,将其属性对话框切换到Data页面,直接输入内容,输入一行后按 Ctrl+回车 键添加另一行。同样对另一个组合框控件也进行修改。结果如图2.3所示。图2.3 课程类型组合框内容输入 按Ctrl+W快捷键或双击对话框资源模板的空白处,为IDD_COURSE创建一个对话框CCourseDlg。打开ClassWizard的Member Variables页面,看Class name是否是CCourseDlg,选中所需的控件ID号,双击鼠标。依次为表2.2控件增加成员变量。表2.2 控件变量控件ID号变量类别变量类型变量名范围和大小IDC_EDIT_COURSENOV

6、alueCStringm_strNOIDC_EDIT_COURSENAMEValueCStringm_strNameIDC_COMBO_SPECIALValueCStringm_strSpecialIDC_COMBO_SPECIALControlCComboBoxm_comboSpecialIDC_COMBO_TYPEValueCStringm_strTypeIDC_EDIT_OPENValueBYTEm_nOpenIDC_SPIN1ControlCSpinButtonCtrlm_spinOpenIDC_EDIT_COURSEHOURSValueintm_nHoursIDC_EDIT_CRED

7、ITValuefloatm_fCredit4添加CCourseDlg类代码 用MFC ClassWizard为CCourseDlg类添加WM_INITDIALOG消息映射,并添加下列初始化代码:BOOL CCourseDlg:OnInitDialog() CDialog:OnInitDialog(); m_spinOpen.SetRange( 1, 8 ); m_nHours = 60; m_fCredit = 2.0; m_nOpen = 1; m_strType = 专修; m_strSpecial = 机械工程及其自动化; /有改动 UpdateData(FALSE); return T

8、RUE; / 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(课程号不能为空!); return; m_strName.TrimLeft(); if (m_strName.IsEmpty() MessageBox(课程名称不能为空!); return; CDialog

9、:OnOK();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.Del

10、eteString(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.AddStri

11、ng( str ); str.Format(学 分:%3.1f, dlg.m_fCredit); m_List.AddString( str ); 在Ex_CtrlsDlg.cpp文件的前面添加CInputDlg的头文件包含:#include Ex_CtrlsDlg.h#include CourseDlg.h /在“工程”“ 设置”常规选项里,选择使用MFC作为静态链接库 编译运行并测试。6写出实验报告分析上述运行结果以及思考与练习,写出实验报告。思考与练习(1)为CCourseDlg类添加一个公有型CString成员变量m_strOKText,当通过CCourseDlg类对象将m_strOK

12、Text设为“修改”,CCourseDlg对话框中的“添加”按钮标题变成“修改”,试编程实现。(2)由于每学期的一门课程学分一般不超过6个学分,因此若将学分编辑框改为组合框,应如何修改和编程? 实验十一 常用控件(2)实验目的和要求(1)设计一个如图3.1所示的“学生基本信息”对话框。(2)在实验2的基础上,实现功能:在图2.1中的“课程信息”按钮下方添加一个“学生基本信息”按钮,单击该按钮,弹出“学生基本信息”对话框,单击“添加”按钮,学生基本信息显示在列表框中。(3)在CEx_CtrlsDlg对话框中添加一个滚动条和两个滑动条来调整对话框的背景颜色的3个分量:R(红色分量)、G(绿色分量)

13、和B(蓝色分量),结果如图3.2所示。 图3.1 “学生基本信息”对话框 图3.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+程序实验实验3Ex_Ctrls”文件夹中的Ex_Ctrls项目打开。 添加

14、一个新的对话框资源,将ID号改为IDD_INPUT,标题为“学生成绩输入”,将对话框字体改为“宋体,9号”。将OK和Cancel按钮标题改为“确定”和“取消”。 调整对话框的大小,将“确定”和“取消”按钮移至对话框的下方,然后显示对话框网格。 参看图3.1,向对话框添加如表3.1所示的控件。添加两个“单选按钮” 并在第一个按钮“男”的属性常规选项勾选“组”,并对第一个按钮增加成员变量int型m_bMale 。第二个按钮不用勾选和增加。表3.1 学生基本信息对话框添加的控件添加的控件ID号标 题其 他 属 性编辑框IDC_EDIT_NAME默认编辑框IDC_EDIT_NO默认编辑框IDC_EDI

15、T_S1默认旋转按钮控件IDC_SPIN_S1Auto buddy、Right对齐编辑框IDC_EDIT_S2默认旋转按钮控件IDC_SPIN_S2Auto buddy、Set buddy integer、Right对齐编辑框IDC_EDIT_S3默认旋转按钮控件编辑框IDC_SPIN_S3IDC_SPECIALAuto bud0dy、Set buddy integer、Right对齐默认 双击对话框模板空白处,为该对话框模板创建一个对话框类CInputDlg。 在MFC ClassWizard的Member Variables页面中,确定Class name中是否已选择了CInputDlg,

16、选中所需的控件ID号,双击鼠标或单击Add Variables按钮。依次为表3.2控件增加成员变量。表3.2 控件变量控件ID号变 量 类 别变 量 类 型变 量 名范围和大小IDC_EDIT_NAMEValueCStringm_strName20IDC_EDIT_NOValueCStringm_strNo20IDC_EDIT_S1Valueintm_fScore10.0 100.0IDC_SPIN_S1ControlCSpinButtonCtrlm_spinScore1IDC_EDIT_S2Valueintm_fScore20.0 100.0IDC_SPIN_S2ControlCSpinBu

17、ttonCtrlm_spinScore2IDC_EDIT_S3Valueintm_fScore30.0 100.0IDC_SPIN_S3IDC_SPECIALControlValueCspinButtonCtrlCStringm_spinScore3m_strSpecial在MFC ClassWizard的Messsage Maps页面中,为CInputDlg添加WM_INITDIALOG消息映射,并添加下列代码:BOOL CInputDlg:OnInitDialog() CDialog:OnInitDialog(); m_spinScore1.SetRange( 0, 100 ); / 设置

18、旋转按钮控件范围 m_spinScore2.SetRange( 0, 100 ); m_spinScore3.SetRange( 0, 100 ); return TRUE; / return TRUE unless you set the focus to a control用MFC ClassWizard为CInputDlg增加IDC_SPIN_S1控件的UDN_DELTAPOS消息映射,并添加下列代码:void CInputDlg:OnDeltaposSpinS1(NMHDR* pNMHDR, LRESULT* pResult) NM_UPDOWN* pNMUpDown = (NM_UP

19、DOWN*)pNMHDR; UpdateData(TRUE); / 将控件的内容保存到变量中 m_fScore1 += (float)pNMUpDown-iDelta * 0.5; /将m_fScore1等定义为int型 if (m_fScore1100) m_fScore1 = 100; UpdateData(FALSE); / 将变量的内容显示在控件中 *pResult = 0;打开IDD_EX_CTRLS_DIALOG对话框资源,在 “课程信息”按钮下方添加一个“学生基本信息”按钮,并将ID号设为IDC_BUTTON_STUINFO。用MFC ClassWizard为按钮IDC_BUTT

20、ON_STUINFO添加BN_CLICKED消息映射,并添加下列代码:void CEx_CtrlsDlg:OnButtonStuinfo() CInputDlg dlg; if (IDOK != dlg.DoModal() return; while(m_List.GetCount()!=0) m_List.DeleteString(0); CString strSex(男); if (dlg.m_bMale) strSex = 女; m_List.AddString( 姓名:+dlg.m_strName); m_List.AddString( 学号:+dlg.m_strNo); m_List

21、.AddString( 性别:+strSex);CString str; /修改了接下来这三条语句 str.Format(出生日期:%d-%d-%d, dlg.m_fScore1,dlg.m_fScore2,dlg.m_fScore3); m_List.AddString( str ); m_List.AddString( 所学专业:+dlg.m_strSpecial); 在Ex_CtrlsDlg.cpp文件的前面添加CStuInfoDlg类的头文件包含:#include CourseDlg.h#include InputDlg.h /在“工程”“ 设置”常规选项里,选择使用MFC作为静态链接

22、库 编译运行并测试。结果如图3.3所示。图3.3 学生基本信息添加后的结果4改变对话框背景颜色 将项目工作区窗口切换到ResourceView页面,打开IDD_EX_CTRLS_DIALOG对话框资源。 打开对话框网格,参看图3.2的控件布局,为对话框添加如表3.3所示的一些控件。表3.3 添加的控件添加的控件ID号标 题其 他 属 性垂直滚动条IDC_SCROLLBAR_RED默认滑动条(绿色)IDC_SLIDER_GREEN方位为Vertical, 其他默认滑动条(蓝色)IDC_SLIDER_BLUE方位为Vertical, 其他默认 用MFC ClassWizard为表3.4控件添加成员

23、变量。表3.4 控件变量控件ID号变 量 类 别变 量 类 型变 量 名范围和大小IDC_SCROLLBAR_REDControlCScrollBarm_scrollRedIDC_SLIDER_GREENControlCSliderCtrlm_sliderGreenIDC_SLIDER_GREENValueintm_nGreenIDC_SLIDER_BLUEControlCSliderCtrlm_sliderBlueIDC_SLIDER_BLUEValueintm_nBlue 为CEx_CtrlsDlg类添加两个成员变量,一个是int型m_nRed,用来设置颜色R、G、B中的红色分量,另一个是

24、画刷CBrush类对象m_Brush,用来设置对话框背景所需要的画刷。方法:在Ex_CtrlsDlg.h 头文件内找到相应位置按下图添加。 在CEx_CtrlsDlg:OnInitDialog函数中添加下列代码:BOOL CEx_CtrlsDlg:OnInitDialog() 。 m_scrollRed.SetScrollRange(0, 255); m_sliderBlue.SetRange(0, 255); m_sliderGreen.SetRange(0, 255); /设置颜色调节范围 m_nBlue = m_nGreen = m_nRed = 192; /初始化对话框背景颜色 Upd

25、ateData( FALSE ); m_scrollRed.SetScrollPos(m_nRed); return TRUE; / return TRUE unless you set the focus to a control 用MFC ClassWizard为CEx_CtrlsDlg类映射WM_VSCROLL消息,并添加下列 代码:void CEx_CtrlsDlg:OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) int nID = pScrollBar-GetDlgCtrlID(); / 获取对话框中控件ID号 i

26、f (nID = IDC_SCROLLBAR_RED) / 或是滚动条产生的水平滚动消息 switch(nSBCode) case SB_LINEUP: m_nRed-; / 单击滚动条向上箭头 break; case SB_LINEDOWN: m_nRed+; / 单击滚动条向下箭头 break; case SB_PAGEUP: m_nRed -= 10; break; case SB_PAGEDOWN:m_nRed += 10; break; case SB_THUMBTRACK:m_nRed = nPos; break; if (m_nRed255) m_nRed = 255; m_sc

27、rollRed.SetScrollPos(m_nRed); Invalidate(); / 使对话框无效,强迫系统重绘对话框 CDialog:OnVScroll(nSBCode, nPos, pScrollBar);用MFC ClassWizard为CEx_CtrlsDlg类映射WM_CTLCOLOR消息,并添加下列代码:HBRUSH CEx_CtrlsDlg:OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) /HBRUSH hbr = CDialog:OnCtlColor(pDC, pWnd, nCtlColor); UpdateData(TR

28、UE); COLORREF color = RGB(m_nRed, m_nGreen, m_nBlue); m_Brush.Detach(); / 使画刷和对象分离 m_Brush.CreateSolidBrush(color); / 创建颜色画刷 pDC-SetBkColor( color ); / 设置背景颜色 return (HBRUSH)m_Brush; / 返回画刷句柄,以便系统使此画刷绘制对话框编译运行并测试。5写出实验报告分析上述运行结果以及思考与练习,写出实验报告。思考与练习(1)若将控制绿色和蓝色颜色分量的滑动条全部换成滚动条,则代码应如何修改?(2)若将CEx_CtrlsDlg对话框中的列表框换成静态文本,并用于显示信息,则应如何实现? 实验十二 菜单、工具栏和状态栏实验目的和内容(1)创建一个单文档应用程序Ex_SDI。在“查看”菜单下添加一个子菜单“鼠标位置”,ID为ID_VIEW_MOUSE,当选择该菜单命令后,鼠标当前的位置显示到状态栏上,同时该菜单项呈选中状态。再次选

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1