資源描述:
《VC++實(shí)驗(yàn)六 MFC 控件編程實(shí)驗(yàn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、實(shí)驗(yàn)六MFC控件編程實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康模?)熟悉VisualStudio開(kāi)發(fā)環(huán)境;(2)掌握類向?qū)У氖褂梅椒?,熟練使用類向?qū)нM(jìn)行消息映射,添加類的數(shù)據(jù)成員;(3)掌握MFC環(huán)境下標(biāo)準(zhǔn)控件的使用方法。二、實(shí)驗(yàn)內(nèi)容創(chuàng)建如圖所示的基于對(duì)話框的應(yīng)用程序,在圖形顯示區(qū)繪制一個(gè)矩形并用單色畫(huà)刷填充矩形內(nèi)部。通過(guò)滾動(dòng)條控件設(shè)置填充顏色,并在編輯框中顯示顏色的RGB值,過(guò)單選按鈕可以設(shè)置矩形的邊框線型,“顯示圖形”復(fù)選框可以控制是否顯示矩形。設(shè)置完成后,單擊“顯示”按鈕在“圖形顯示區(qū)”顯示新的繪圖效果。單擊“退出”按鈕退出程序。二、實(shí)驗(yàn)結(jié)果(1)列表說(shuō)明各個(gè)控件的屬
2、性設(shè)置,列出控件功能的實(shí)現(xiàn)代碼。控件的屬性設(shè)置:控件屬性設(shè)置CaptionIDGroup“顯示”下壓式按鈕顯示IDC_SHOWFalse“退出”下壓式按鈕退出IDC_QUITFalse“顯示圖形”復(fù)選按鈕顯示圖形IDC_SHOWPICTUREFalse“實(shí)線”單選按鈕實(shí)線IDC_SOLIDTrue“虛線”單選按鈕虛線IDC_DASHTrue“點(diǎn)劃線”單選按鈕點(diǎn)劃線IDC_DASHDOTTrue“雙點(diǎn)劃線”單選按鈕雙點(diǎn)劃線IDC_DASHDOTDOTTrue“紅色”滾動(dòng)條IDC_REDFalse“綠色”滾動(dòng)條IDC_GREENFalse“藍(lán)色”滾動(dòng)條
3、IDC_BLUEFalseStaticText紅色I(xiàn)DC_STATICTrueStaticText綠色I(xiàn)DC_STATICTrueStaticText藍(lán)色I(xiàn)DC_STATICTrue編輯框IDC_RGBFalse控件功能的實(shí)現(xiàn)代碼:1.“顯示”下壓式按鈕://按下“顯示”按鈕時(shí),繪制圖形voidCDemoDlg::OnPaint(){CPaintDCdc(this);CPenPen2,*pOldPen;CBrushbrush;UpdateData(TRUE);//根據(jù)m_nLineStyle的值判斷用何種線形繪制圖形,//并獲取滾動(dòng)條的位置,創(chuàng)建畫(huà)
4、筆、畫(huà)刷switch(m_nLineStyle){case0:Pen2.CreatePen(PS_SOLID,3,RGB(m_Red.GetScrollPos(),m_Green.GetScrollPos(),m_Blue.GetScrollPos()));brush.CreateSolidBrush(RGB(m_Red.GetScrollPos(),m_Green.GetScrollPos(),m_Blue.GetScrollPos()));break;case1:Pen2.CreatePen(PS_DASH,1,RGB(m_Red.GetScr
5、ollPos(),m_Green.GetScrollPos(),m_Blue.GetScrollPos()));brush.CreateSolidBrush(RGB(m_Red.GetScrollPos(),m_Green.GetScrollPos(),m_Blue.GetScrollPos()));break;case2:Pen2.CreatePen(PS_DASHDOT,1,RGB(m_Red.GetScrollPos(),m_Green.GetScrollPos(),m_Blue.GetScrollPos()));brush.CreateSo
6、lidBrush(RGB(m_Red.GetScrollPos(),m_Green.GetScrollPos(),m_Blue.GetScrollPos()));break;case3:Pen2.CreatePen(PS_DASHDOTDOT,1,RGB(m_Red.GetScrollPos(),m_Green.GetScrollPos(),m_Blue.GetScrollPos()));brush.CreateSolidBrush(RGB(m_Red.GetScrollPos(),m_Green.GetScrollPos(),m_Blue.Get
7、ScrollPos()));break;}pOldPen=dc.SelectObject(&Pen2);dc.SelectObject(&brush);//判斷m_nShow是否為真,若為真繪制圖形if(m_nShow==TRUE){dc.Rectangle(80,50,350,160);}dc.SelectObject(pOldPen);}2.“退出”下壓式按鈕://按下“退出”按鈕時(shí),退出程序voidCDemoDlg::OnStop(){//TODO:AddyourcontrolnotificationhandlercodehereCDialo
8、g::EndDialog(IDC_QUIT);}3.“顯示圖形”復(fù)選按鈕://定義布爾變量,判斷是否顯示圖形,用于數(shù)據(jù)交換