资源描述:
《vc实验六mfc控件编程实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验六MFC控件编程实验一.实验目的(1)熟悉VisualStudio开发环境;(2)掌握类向导的使用方法,熟练使用类向导进行消息映射,添加类的数据成员;(3)掌握MFC环境下标准控件的使用方法。二、实验内容创建如图所示的基于对话框的应用程序,在图形显示区绘制一个矩形并用单色画刷填充矩形内部。通过滚动条控件设置填充颜色,并在编辑框中显示颜色的RGB值,过单选按钮可以设置矩形的边框线型,“显示图形”复选框可以控制是否显示矩形。设置完成后,单击“显示”按钮在“图形显示区”显示新的绘图效果。单击“退出”按钮退出
2、程序。銭形设置C虎线C点划钱C取炬划拔红色丄12J绿色丄
3、jJ蓝色』_
4、>1阿(151,118,188)二、实验结果(1)列表说明各个控件的属性设置,列出控件功能的实现代码。控件的属性设置:控件属性设置CaptionIDGroup“显示”下压式按钮显示IDC_SHOWFalse“退出”下压式按钮退出IDC_QUITFalse“显示图形”复选按钮显示图形IDC_SHOWPICTUREFalse“实线”单选按钮实线IDC_SOLIDTrue“虚线”单选按钮虚线IDC_DASHTrue“点划线”单选按钮点划线I
5、DC_DASHDOTTrue“双点划线”单选按钮双点划线IDC_DASHDOTDOTTrue“红色”滚动条IDC_REDFalse“绿色”滚动条IDC_GREENFalse“蓝色”滚动条IDC_BLUEFalseStaticText红色IDC_STATICTrueStaticText绿色IDC_STATICTrueStaticText蓝色IDC_STATICTrue编辑框IDC_RGBFalse控件功能的实现代码:1.“显示”下压式按钮:〃按下“显示〃按钮时,绘制图形voidCDemoDlg::OnPai
6、nt(){CPaintDCdc(this);CPenPen2,*pOldPen;CBrushbrush;UpdateData(TRUE);〃根据m.nLineStyle的值判断用何种线形绘制图形,〃并获取滚动条的位置,创建画笔、画刷switch(m_nLineStyle){"case0:Pen2.CreatePen(PS_SOLID,3,RGB(m_Red.GetScrollPos(),m_Green.GetScrollPos(),m_Blue.GetScrollPos()))「brush.CreateS
7、olidBrush(RGB(m_Red.GetScrollPos()zm_Green.GetScrollPos(),m_Blue.GetScrollPos()));break;case1:Pen2.CreatePen(PS_DASH,1,RGB(m_Red.GetScrollPos(),m_Green.GetScrollPos(Lm_Blue.GetScrollPos()))「brush.CreateSolidBrush(RGB(m_Red.GetScrollPos(),m_Green.GetScroll
8、Pos(),m_Blue.GetScrollPos()));break;case2:Pen2.CreatePen(PS_DASHDOT,1”RGB(m_Red.GetScrollPos()/m_Green.GetScrollPos()/m_Blue.GetScrollPos()));"brush.CreateSolidBrush(RGB(m_Red.GetScrollPos()/m_Green.GetScrollPos()/m_Blue.GetScrollPos()));break;case3:Pen2.
9、CreatePen(PS_DASHD0TD0T,1,RGB(m_Red.GetScrollPos(),m_Green.GetScrollPos(),m_Blue.GetScrollPos()));"brush.CreateSolidBrush(RGB(m_Red.GetScrollPos(),m_Green.GetScrollPos(),m_Blue.GetScrollPos()));break;}pOldPen=dc.SelectObject(&Pen2);dc.SelectObject(&brush)
10、;〃判断m_nShow是否为真,若为真绘制图形讦(m_nShow==TRUE){_dc.Rectangle(80,50,350,160);}dc.SelectObject(pOldPen);2.“退出”下压式按钮:〃按下〃退岀〃按钮时,退出程序voidCDemoDIg::OnStop(){//TODO:AddyourcontrolnotificationhandlercodehereCDialog::EndDialog(IDC