資源描述:
《vc實(shí)驗(yàn)六mfc控件編程實(shí)驗(yàn)》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、實(shí)驗(yàn)六MFC控件編程實(shí)驗(yàn)一.實(shí)驗(yàn)?zāi)康?1)熟悉VisualStudio開(kāi)發(fā)環(huán)境;(2)掌握類(lèi)向?qū)У氖褂梅椒?,熟練使用?lèi)向?qū)нM(jìn)行消息映射,添加類(lèi)的數(shù)據(jù)成員;(3)掌握MFC環(huán)境下標(biāo)準(zhǔn)控件的使用方法。二、實(shí)驗(yàn)內(nèi)容創(chuàng)建如圖所示的基于對(duì)話(huà)框的應(yīng)用程序,在圖形顯示區(qū)繪制一個(gè)矩形并用單色畫(huà)刷填充矩形內(nèi)部。通過(guò)滾動(dòng)條控件設(shè)置填充顏色,并在編輯框中顯示顏色的RGB值,過(guò)單選按鈕可以設(shè)置矩形的邊框線(xiàn)型,“顯示圖形”復(fù)選框可以控制是否顯示矩形。設(shè)置完成后,單擊“顯示”按鈕在“圖形顯示區(qū)”顯示新的繪圖效果。單擊“退出”按鈕退出
2、程序。銭形設(shè)置C虎線(xiàn)C點(diǎn)劃錢(qián)C取炬劃拔紅色丄12J綠色丄
3、jJ藍(lán)色』_
4、>1阿(151,118,188)二、實(shí)驗(yàn)結(jié)果(1)列表說(shuō)明各個(gè)控件的屬性設(shè)置,列出控件功能的實(shí)現(xiàn)代碼??丶膶傩栽O(shè)置:控件屬性設(shè)置CaptionIDGroup“顯示”下壓式按鈕顯示IDC_SHOWFalse“退出”下壓式按鈕退出IDC_QUITFalse“顯示圖形”復(fù)選按鈕顯示圖形IDC_SHOWPICTUREFalse“實(shí)線(xiàn)”單選按鈕實(shí)線(xiàn)IDC_SOLIDTrue“虛線(xiàn)”單選按鈕虛線(xiàn)IDC_DASHTrue“點(diǎn)劃線(xiàn)”單選按鈕點(diǎn)劃線(xiàn)I
5、DC_DASHDOTTrue“雙點(diǎn)劃線(xiàn)”單選按鈕雙點(diǎn)劃線(xiàn)IDC_DASHDOTDOTTrue“紅色”滾動(dòng)條IDC_REDFalse“綠色”滾動(dòng)條IDC_GREENFalse“藍(lán)色”滾動(dòng)條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::OnPai
6、nt(){CPaintDCdc(this);CPenPen2,*pOldPen;CBrushbrush;UpdateData(TRUE);〃根據(jù)m.nLineStyle的值判斷用何種線(xiàn)形繪制圖形,〃并獲取滾動(dòng)條的位置,創(chuàng)建畫(huà)筆、畫(huà)刷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.“退出”下壓式按鈕:〃按下〃退岀〃按鈕時(shí),退出程序voidCDemoDIg::OnStop(){//TODO:AddyourcontrolnotificationhandlercodehereCDialog::EndDialog(IDC