資源描述:
《vc++mfc 繪圖+菜單+圖片美化菜單》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、VC++MFC繪圖+菜單+圖片美化菜單該實(shí)例是我剛開始學(xué)習(xí)API的時(shí)候、記錄下來的筆記,雖然不是很詳細(xì),但是我也是寫出來配合MSDN來使用的,希望和我一樣的初學(xué)者都在MSDN理把每一個數(shù)據(jù)類型、每一個API函數(shù)搞懂,這樣你才是真的懂,而不是抄、哪里錯的,自己在修改了,!還有就是希望大家把自己學(xué)習(xí)過程中所接觸到的API和數(shù)據(jù)結(jié)構(gòu)等做筆記記下來,這樣大家可以交流共享。。幫助別人就是幫助自己!為了讓大家更加容易瀏覽以下的實(shí)例,藍(lán)色部分的文字是注釋,以及寫代碼的方位。黑色的則是代碼、、、By:瑜少變量類型:COLRREF.//顏色類型,適用于保存顏色(實(shí)例1)CPen/
2、/畫筆類型,系統(tǒng)封裝的畫筆(實(shí)例1)CRect//類似于Rect結(jié)構(gòu)(實(shí)例1)Rect//用來操作坐標(biāo)的結(jié)構(gòu)體CClientDC//用于GDI圖像操作在窗口的客戶區(qū)操作(實(shí)例1)CMenu//用于創(chuàng)建菜單對象,右鍵彈出貼圖菜單等等。。。(實(shí)例2)CBitmap//封裝了圖形設(shè)備接口GDI位圖,用于操作位圖等等。。。。。。(實(shí)例3)CToolBar//帶有一行位圖按鈕和可選分隔線的控件條。這些按鈕可以像普通按鈕、核選按鈕或單選按鈕那樣動作(實(shí)例4)CStatusBar//帶有一行文本輸出窗格的控件,或者稱為“指示器”。這些輸出窗格常被用作消息行和狀態(tài)指示器。例如:
3、簡單解釋所選菜單命令的菜單幫助消息行(實(shí)例4)?API函數(shù):RGB//顏色設(shè)置,其中包括幾種顏色值(紅,綠,藍(lán))(實(shí)例1)CreatePen//畫筆初始化函數(shù),適用于畫筆初始化(實(shí)例1)GetClientRect//獲取窗口的客戶區(qū)坐標(biāo)(實(shí)例1)FillRect//填充矩形使用的畫筆左側(cè)和頂部邊界(實(shí)例1)GetStockObject//畫刷的字體及顏色(實(shí)例1)SelectObject//得到指定的對象的功能(實(shí)例1)MoveTo//獲取指定的坐標(biāo)點(diǎn)(實(shí)例1)LineTo//繪制一個指定坐標(biāo)點(diǎn)除外的圖像(實(shí)例1)Rectangle//繪制一個矩形的圖像(實(shí)例1
4、)Ellipse//繪制一個橢圓的圖像(實(shí)例1)-----------------------------------------------------------------------------------------------------------------LoadMenu//用于加載可執(zhí)行EXE菜單資源文件等等。。(實(shí)例2)AfxThrowResourceException//拋出一個資源異常,創(chuàng)建菜單的時(shí)候需要用到。。。(實(shí)例2)GetSubMenu//取得菜單的句柄,下拉式菜單等。。。(實(shí)例2)ASSERT//斷言,用于捕捉錯誤和假設(shè)(實(shí)例
5、2)ClientToScreen//把客戶區(qū)坐標(biāo)轉(zhuǎn)換成災(zāi)屏幕的坐標(biāo)(實(shí)例2)TrackPopupMenu//在指定的位置顯示菜單(菜單可自定義的哦)(實(shí)例2)LoadBitmap//從位圖資源中加載一個文件。。(實(shí)例3)ModifyMenu//改變現(xiàn)有菜單項(xiàng),外觀等、行為等、。。(實(shí)例3)Create//動態(tài)創(chuàng)建數(shù)據(jù)窗口對象,用于創(chuàng)建窗口(實(shí)例4)LoadToolBar//用于加載工具欄資源名稱,或者加載工具欄的ID(實(shí)例4)EnableDocking//設(shè)定工具欄可以??吭诟复翱谥械奈恢?。。自定義(實(shí)例4)DockControlBar//設(shè)定控制欄??吭诖翱诘?/p>
6、框架上(實(shí)例4)SetBarStyle//設(shè)置控制欄的風(fēng)格(實(shí)例4)GetBarStyle//確定目前窗口的風(fēng)格及設(shè)置(實(shí)例4)SetCheck//設(shè)置或重置一個單選框按鈕或復(fù)選框檢查狀態(tài)(實(shí)例5)?實(shí)例1、(實(shí)現(xiàn)化圖像的功能)在MainFrame頭文件中,加入以下代碼,記得要在public下哦。intm_xiankuan;//設(shè)置個線寬的變量COLORREFm_dangqianyanse;//設(shè)置個當(dāng)前顏色的變量在MFC中,CMainFrame.CPP文件中的CMainFrame初始化函數(shù)中CMainFrame::CMainFrame()添加以下代碼:m_da
7、ngqianyanse=RGB(0,0,0);//初始化當(dāng)前顏色m_xiankuan=1;//初始化線寬在菜單項(xiàng)目按鈕消息的函數(shù)下添加以下代碼:CPenhuabi;//設(shè)定個畫筆變量CPen*huabizhizhen;//設(shè)定個畫筆指針huabi.CreatePen(PS_SOLID,m_xiankuan,m_dangqianyanse);//初始化畫筆;CClientDCdc(this);//設(shè)定一個GDI在窗口客戶區(qū)操作的對象CRectrect;//設(shè)定坐標(biāo)變量GetClientRect(&rect);//獲取窗口的客戶區(qū)坐標(biāo)dc.FillRect(&rec
8、t,CBrush::Fr