C++ 实验四总结报告doc文档格式.docx

上传人:b****6 文档编号:22179940 上传时间:2023-02-02 格式:DOCX 页数:8 大小:21.64KB
下载 相关 举报
C++ 实验四总结报告doc文档格式.docx_第1页
第1页 / 共8页
C++ 实验四总结报告doc文档格式.docx_第2页
第2页 / 共8页
C++ 实验四总结报告doc文档格式.docx_第3页
第3页 / 共8页
C++ 实验四总结报告doc文档格式.docx_第4页
第4页 / 共8页
C++ 实验四总结报告doc文档格式.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

C++ 实验四总结报告doc文档格式.docx

《C++ 实验四总结报告doc文档格式.docx》由会员分享,可在线阅读,更多相关《C++ 实验四总结报告doc文档格式.docx(8页珍藏版)》请在冰豆网上搜索。

C++ 实验四总结报告doc文档格式.docx

2②将该对话框资源的ID设为IDD_COURSE,标题设为“课程信息”,字体设为“宋体,9号”。

③将OK和Cancel按钮的标题改为“添加”和“取消”。

④打开对话框网格,参看图2.2的控件布局,为对话框添加如表2.1所示的一些控件。

表2.1课程信息对话框添加的控件添加的控件ID号标题其他属性编辑框(课程号)IDC_EDIT_COURSENO——默认编辑框(课程名称)IDC_EDIT_COURSENAME——默认组合框(所属专业)IDC_COMBO_SPECIAL——默认组合框(课程类型)IDC_COMBO_TYPE——默认编辑框(开课学期)IDC_EDIT_OPEN——默认旋转按钮IDC_SPIN1——Autobuddy、Setbuddyinteger、Right对齐,其余默认编辑框(课时数)IDC_EDIT_COURSEHOURS——默认编辑框(学分)IDC_EDIT_CREDIT——默认⑤右击添加的课程类型的组合框控件,从弹出的快捷菜单中选择“属性”命令,将其属性对话框切换到Data页面,直接输入内容,输入一行后按Ctrl+回车键添加另一行。

同样对另一个组合框控件同样对另一个组合框控件也进行修改。

也进行修改。

结果如图2.3所示。

图2.3课程类型组合框内容输入⑥按Ctrl+W快捷键或双击对话框资源模板的空白处,为IDD_COURSE创建一个对话框CCourseDlg。

⑦打开ClassWizard的MemberVariables页面,看Classname是否是CCourseDlg,选中所需的控件ID号,双击鼠标。

依次为表2.2控件增加成员变量。

表2.2控件变量控件ID号变量类别变量类型变量名范围和大小IDC_EDIT_COURSENOValueCStringm_strNOIDC_EDIT_COURSENAMEValueCStringm_strNameIDC_COMBO_SPECIALValueCStringm_strSpecialIDC_COMBO_SPECIALControlCComboBoxm_comboSpecial——IDC_COMBO_TYPEValueCStringm_strTypeIDC_EDIT_OPENValueBYTEm_nOpenIDC_SPIN1ControlCSpinButtonCtrlm_spinOpen——IDC_EDIT_COURSEHOURSValueintm_nHoursIDC_EDIT_CREDITValuefloatm_fCredit34..添加CCourseDlg类代码①用MFCClassWizard为CCourseDlg类添加WM_INITDIALOG消息映射,并添加下列初始化代码:

BOOLCCourseDlg:

:

OnInitDialog(){CDialog:

OnInitDialog();

m_spinOpen.SetRange(1,8);

m_nHours=60;

m_fCredit=2.0;

m_nOpen=1;

m_strType=“专修“;

m_strSpecial=“机械工程及其自动化“;

//有改动UpdateData(FALSE);

returnTRUE;

//returnTRUEunlessyousetthefocustoacontrol}②用MFCClassWizard为按钮IDOK添加BN_CLICKED的消息映射,并增加下列代码:

voidCCourseDlg:

OnOK(){UpdateData();

m_strNO.TrimLeft();

if(m_strNO.IsEmpty()){MessageBox(“课程号不能为空!

“);

return;

}m_strName.TrimLeft();

if(m_strName.IsEmpty()){MessageBox(“课程名称不能为空!

}CDialog:

OnOK();

}5..添加CEx_CtrlsDlg程序代码①按Ctrl+W快捷键,打开MFCClassWizard对话框,为列表框控件IDC_LIST1添加控件变量m_List,类型为CListBox。

②用MFCClassWizard为按钮IDC_BUTTON_COURSE添加BN_CLICKED消息映射,并添加下列代码:

voidCEx_CtrlsDlg:

OnButtonCourse(){CCourseDlgdlg;

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);

4CStringstr;

str.at(“开课学期:

%d“,dlg.m_nOpen);

m_List.AddString(str);

str.at(“课时数:

%d“,dlg.m_nHours);

str.at(“学分:

%3.1f“,dlg.m_fCredit);

}③在Ex_CtrlsDlg.cpp文件的前面添加CDlg的头文件包含:

#include“Ex_CtrlsDlg.h“#include“CourseDlg.h“//在“工程”—》“设置”常规选项里,选择使用MFC作为静态链接库④编译运行并测试。

6..写出实验报告分析上述运行结果以及思考与练习,写出实验报告。

思考与练习思考与练习

(1)为CCourseDlg类添加一个公有型CString成员变量m_strOKText,当通过CCourseDlg类对象将m_strOKText设为“修改”,CCourseDlg对话框中的“添加”按钮标题变成“修改”,试编程实现。

(2)由于每学期的一门课程学分一般不超过6个学分,因此若将学分编辑框改为组合框,应如何修改和编程?

实验十一实验十一常用控件(常用控件(22))实验目的和要求实验目的和要求

(1)设计一个如图3.1所示的“学生基本信息”对话框。

(2)在实验2的基础上,实现功能:

在图2.1中的“课程信息”按钮下方添加一个“学生基本信息”按钮,单击该按钮,弹出“学生基本信息”对话框,单击“添加”按钮,学生基本信息显示在列表框中。

(3)在CEx_CtrlsDlg对话框中添加一个滚动条和两个滑动条来调整对话框的背景颜色的3个分量:

R(红色分量)、G(绿色分量)和B(蓝色分量),结果如图3.2所示。

图3.1“学生基本信息”对话框图3.2设置对话框背景颜色5实验准备和说明实验准备和说明

(1)具备知识:

滚动条、进展条、滑动条、时间和日历控件。

(2)创建本次实验工作文件夹“…\VisualC++程序\实验\实验3”。

实验内容和步骤实验内容和步骤1..在实验3的工作文件夹中复制Ex_Ctrls文件夹将本书实验2中的Ex_Ctrls文件夹复制到实验3的工作文件夹中。

2..启动VisualC++6.0启动VisualC++6.0系统。

3..创建并添加“学生基本信息”对话框①选择“文件”→“打开工作区”菜单,将“…\VisualC++程序\实验\实验3\Ex_Ctrls”文件夹中的Ex_Ctrls项目打开。

②添加一个新的对话框资源,将ID号改为IDD_,标题为“学生成绩输入”,将对话框字体改为“宋体,9号”。

将OK和Cancel按钮标题改为“确定”和“取消”。

③调整对话框的大小,将“确定”和“取消”按钮移至对话框的下方,然后显示对话框网格。

④参看图3.1,向对话框添加如表3.1所示的控件。

添加两个“单选按钮”添加两个“单选按钮”并在第一个按钮“男”的属性并在第一个按钮“男”的属性—》常规选项勾选“组”,》常规选项勾选“组”,并对第一个按钮增加成员变量并对第一个按钮增加成员变量int型型m_bMale。

第二个按钮不用第二个按钮不用勾选和增加勾选和增加。

表3.1学生基本信息对话框添加的控件添加的控件ID号标题其他属性编辑框IDC_EDIT_NAME——默认编辑框IDC_EDIT_NO——默认编辑框IDC_EDIT_S1——默认旋转按钮控件IDC_SPIN_S1——Autobuddy、Right对齐编辑框IDC_EDIT_S2——默认旋转按钮控件IDC_SPIN_S2——Autobuddy、Setbuddyinteger、Right对齐编辑框IDC_EDIT_S3——默认旋转按钮控件编辑框编辑框IDC_SPIN_S3IDC_SPECIAL————Autobud0dy、Setbuddyinteger、Right对齐默认默认⑤双击对话框模板空白处,为该对话框模板创建一个对话框类CDlg。

⑥在MFCClassWizard的MemberVariables页面中,确定Classname中是否已选择了CDlg,选中所需的控件ID号,双击鼠标或单击AddVariables按钮。

依次为表3.2控件增加成员变量。

表3.2控件变量控件ID号变量类别变量类型变量名范围和大小IDC_EDIT_NAMEValueCStringm_strName20IDC_EDIT_NOValueCStringm_strNo20IDC_EDIT_S1Valueintm_fScore10.0~100.0IDC_SPIN_S1ControlCSpinButtonCtrlm_spinScore1——IDC_EDIT_S2Valueintm_fScore20.0~100.0IDC_SPIN_S2ControlCSpinButtonCtrlm_spinScore2——IDC_EDIT_S3Valueintm_fScore30.0~100.0IDC_SPIN_S3IDC_SPECIALControlValueCspinButtonCtrlCStringm_spinScore3m_strSpecial————6⑦在MFCClassWizard的MesssageMaps页面中,为CDlg添加WM_INITDIALOG消息映射,并添加下列代码:

BOOLCDlg:

m_spinScore1.SetRange(0,100);

//设置旋转按钮控件范围m_spinScore2.SetRange(0,100);

m_spinScore3.SetRange(0,100);

//returnTRUEunlessyousetthefocustoacontrol}⑧用MFCClassWizard为CDlg增加IDC_SPIN_S1控件的UDN_DELTAPOS消息映射,并添加下列代码:

voidCDlg:

OnDeltaposSpinS1(NMHDR*pNMHDR,LRESULT*pResult){NM_UPDOWN*pNMUpDown=(NM_UPDOWN*)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。

⑩用MFCClassWizard为按钮IDC_BUTTON_STUINFO添加BN_CLICKED消息映射,并添加下列代码:

OnButtonStuinfo(){CDlgdlg;

while(m_List.GetCount()!

CStringstrSex(“男“);

if(dlg.m_bMale)strSex=“女“;

m_List.AddString(“姓名:

m_List.AddString(“学号:

“+dlg.m_strNo);

m_List.AddString(“性别:

“+strSex);

CStringstr;

//修改了接下来这三条语句str.at(“出生日期:

%d-%d-%d“,dlg.m_fScore1,dlg.m_fScore2,dlg.m_fScore3);

m_List.AddString(“所学专业:

}在Ex_CtrlsDlg.cpp文件的前面添加CStuInfoDlg类的头文件包含:

7#include“CourseDlg.h“#include“Dlg.h“//在“工程”—》“设置”常规选项里,选择使用MFC作为静态链接库编译运行并测试。

结果如图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,其他默认③用MFCClassWizard为表3.4控件添加成员变量。

表3.4控件变量控件ID号变量类别变量类型变量名范围和大小IDC_SCROLLBAR_REDControlCScrollBarm_scrollRed——IDC_SLIDER_GREENControlCSliderCtrlm_sliderGreen——IDC_SLIDER_GREENValueintm_nGreenIDC_SLIDER_BLUEControlCSliderCtrlm_sliderBlue——IDC_SLIDER_BLUEValueintm_nBlue——④为CEx_CtrlsDlg类添加两个成员变量,一个是int型m_nRed,用来设置颜色R、G、B中的红色分量,另一个是画刷CBrush类对象m_Brush,用来设置对话框背景所需要的画刷。

方法:

在方法:

在Ex_CtrlsDlg.h头文件内找到相应位置按头文件内找到相应位置按下下图添加。

图添加。

⑤在CEx_CtrlsDlg:

OnInitDialog函数中添加下列代码:

8BOOLCEx_CtrlsDlg:

OnInitDialog(){。

m_scrollRed.SetScrollRange(0,255);

m_sliderBlue.SetRange(0,255);

m_sliderGreen.SetRange(0,255);

//设置颜色调节范围m_nBlue=m_nGreen=m_nRed=192;

//初始化对话框背景颜色UpdateData(FALSE);

m_scrollRed.SetScrollPos(m_nRed);

//returnTRUEunlessyousetthefocustoacontrol}⑥用MFCClassWizard为CEx_CtrlsDlg类映射WM_VSCROLL消息,并添加下列代码:

OnVScroll(UINTnSBCode,UINTnPos,CScrollBar*pScrollBar){intnID=pScrollBar-GetDlgCtrlID();

//获取对话框中控件ID号if(nID==IDC_SCROLLBAR_RED){//或是滚动条产生的水平滚动消息switch(nSBCode){caseSB_LINEUP:

m_nRed--;

//单击滚动条向上箭头break;

caseSB_LINEDOWN:

m_nRed++;

//单击滚动条向下箭头break;

caseSB_PAGEUP:

m_nRed-=10;

break;

caseSB_PAGEDOWN:

m_nRed+=10;

caseSB_THUMBTRACK:

m_nRed=nPos;

}if(m_nRed255)m_nRed=255;

}Invalidate();

//使对话框无效,强迫系统重绘对话框CDialog:

OnVScroll(nSBCode,nPos,pScrollBar);

}⑦用MFCClassWizard为CEx_CtrlsDlg类映射WM_CTLCOLOR消息,并添加下列代码:

HBRUSHCEx_CtrlsDlg:

OnCtlColor(CDC*pDC,CWnd*pWnd,UINTnCtlColor){//HBRUSHhbr=CDialog:

OnCtlColor(pDC,pWnd,nCtlColor);

COLORREFcolor=RGB(m_nRed,m_nGreen,m_nBlue);

m_Brush.Detach();

//使画刷和对象分离m_Brush.CreateSolidBrush(color);

//创建颜色画刷pDC-SetBkColor(color);

//设置背景颜色return(HBRUSH)m_Brush;

//返回画刷句柄,以便系统使此画刷绘制对话框}9⑧编译运行并测试。

5..写出实验报告分析上述运行结果以及思考与练习,写出实验报告。

思考与练习思考与练习

(1)若将控制绿色和蓝色颜色分量的滑动条全部换成滚动条,则代码应如何修改?

(2)若将CEx_CtrlsDlg对话框中的列表框换成静态文本,并用于显示信息,则应如何实现?

实验十二实验十二菜单、工具栏和状态栏菜单、工具栏和状态栏实验目的和内容实验目的和内容

(1)创建一个单文档应用程序Ex_SDI。

在“查看”菜单下添加一个子菜单“鼠标位置”,ID为ID_VIEW_MOUSE,当选择该菜单命令后,鼠标当前的位置显示到状态栏上,同时该菜单项呈选中状态。

再次选择该菜单命令,状态栏不再显示当前鼠标位置,同时该菜单项的选中状态被去除。

(2)在工具栏上添加并设计一个工具按钮图标,使该按钮和ID_VIEW_MOUSE菜单命令联动,并添加一个快捷键Ctrl+M和该菜单命令联动。

(3)在窗口客户区中右击鼠标,弹出快捷菜单,显示主菜单“查看”中的菜单命令。

结果如图5.1所示。

图5.1Ex_SDI运行结果实验准备和说明实验准备和说明

(1)具备知识:

菜单、工具条和状态栏。

(2)创建本次实验工作文件夹“…\VisualC++程序\实验\实验5”。

2..用MFCAppWizard(())创建一个默认的单文档应用程序Ex_SDI①选择“文件”→“新建”菜单,在弹出的“新建”对话框中选择“工程”标签,在应用程序项10目类型列表框中选择MFCAppWizard()的项目类型,将工程文件夹定位到“…\VisualC++程序\实验\实验5”,并在工程框中输入项目名Ex_SDI。

②单击“确定”按钮,从出现的对话框中,选择单个文档(SingleDocument,SDI)应用程序类型。

③保留其他的默认选项,单击“完成”按钮出现一个对话框,显示出用户在步骤中作出的选择,单击“确定”按钮,系统开始创建。

3..添加菜单①在项目工作区窗口中选择ResourceView页面,双击资源Menu项中的IDR_MAINFRAME,则菜单编辑器窗口出现在主界面的右边,相应的Ex_SDI项目的菜单资源被显示出来。

②单击“查看”菜单,则在该菜单的最后一项,VisualC++为用户留出了一个空位置,用来输入新的菜单项。

③在菜单的空位置上双击鼠标左键,则出现它的属性对话框,如图5.2所示,在标题框中输入“鼠标位置(}voidCMainFrame:

OnUpdateViewMouse(CUI*pUI){pUI-SetCheck(m_bIsMouse);

}③编译运行并测试。

6..设置快捷键①在项目工作区窗口的ResourceView页面中,双击Accelerator中的IDR_MAINFRAME,打开快捷键资源。

②双击加速键列表的最下端的空行,弹出如图5.4所示的AccelProperities对话框,选择菜单项ID_VIEW_MOUSE作为要联动的快捷键的ID号,然后单击“下一键”按钮,并按下Ctrl+1作为此加速键的键值。

图5.4设置快捷键③编译运行并测试。

7..添加状态栏窗格并显示鼠标当前位置①打开MainFrm.cpp文件,将原先的indicators数组修改如下:

staticUINTindicators[]={ID_SEPARATOR,//statuslineindicatorID_SEPARATOR,ID_INDICATOR_CAPS,ID_INDICATOR_NUM,ID_INDICATOR_SCRL,};

②用MFCCl

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 其它课程

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

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