資源描述:
《對話框美化教程》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、1.設(shè)置對話框背景圖片??插入資源中--插入--Bitmap--引入要設(shè)置成背景的圖片(本例引入兩個ID分別為IDB_BITMAP1,IDB_BITMAP2)拉入圖像??設(shè)置成位圖--然后選擇屬性(M)中選擇位圖的ID??2.設(shè)置對話框背景顏色??在.cpp中BOOLCMyApp::InitInstance(){????AfxEnableControlContainer();????//Standardinitialization????//Ifyouarenotusingthesefeatur
2、esandwishtoreducethesize????//??ofyourfinalexecutable,youshouldremovefromthefollowing????//??thespecificinitializationroutinesyoudonotneed.#ifdef_AFXDLL????Enable3dControls();????????????//CallthiswhenusingMFCinasharedDLL#else????Enable3dControlsStat
3、ic();????//CallthiswhenlinkingtoMFCstatically#endif????CMyDlgdlg;????m_pMainWnd=&dlg;????SetDialogBkColor(RGB(255,255,255),RGB(0,0,0));//這里設(shè)置對話框背景顏色為白色,文本//顏色為黑色????intnResponse=dlg.DoModal();????if(nResponse==IDOK)????{????????//TODO:Placecodehereto
4、handlewhenthedialogis????????//??dismissedwithOK????}????elseif(nResponse==IDCANCEL)????{????????//TODO:Placecodeheretohandlewhenthedialogis????????//??dismissedwithCancel????}????//Sincethedialoghasbeenclosed,returnFALSEsothatweexitthe????//??applic
5、ation,ratherthanstarttheapplication'smessagepump.????returnFALSE;}3.設(shè)置按鈕位圖????插入Bitmap(ID分別為IDB_BITMAP3,IDB_BITMAP4)在對話框頭文件中定義CBitmap;protected:????CBitmapbitmap1,bitmap2;然后在對話框Dlg.cpp文件中的OnIniDialog()中加入以下代碼????bitmap1.LoadBitmap(IDB_BITMAP3);????CB
6、utton*m_pButton1,*m_pButton2;????m_pButton1=(CButton*)GetDlgItem(IDOK);????m_pButton1->SetBitmap(HBITMAP(bitmap1));????bitmap2.LoadBitmap(IDB_BITMAP4);????m_pButton2=(CButton*)GetDlgItem(IDC_HAHA);????m_pButton2->SetBitmap(HBITMAP(bitmap2));????//TOD
7、O:Addextrainitializationhere然后編譯運行??看下效果?[頂]在VC中讓對話框顯示背景圖[點評:用圖片控件,好像圖片最多色彩數(shù)不超過256色,也就是8位,但是用代碼在里面寫的方法就可以解決這個問題了.]讓一個對話框顯示背景通常有兩種做法:使用圖片控件、在WM_PAINT消息中畫圖。用圖片控件非常簡單,但功能功能不強(qiáng)大,不能對圖片拉申等。在WM_PAINT中畫圖,相對復(fù)雜,但可以做很多特殊處理(如對圖片拉申、圖片取反等等)。那么下面就對兩種方法略述。1、用圖片控件 在對
8、話框中加入Picture控件,屬性頁中General->Type設(shè)為Bitmap,Image中選中相關(guān)聯(lián)的圖片資源號?! ∵@樣就編譯運行,你就會發(fā)現(xiàn)它己經(jīng)可以了?! ∫?,不對,圖片復(fù)蓋了其它控件!怎么辦? 哈哈,這是由于你的Picture控件是后面放上去的。這樣它會顯示在最上層,所以有些控件看不到了。有兩種方法可以解決: (1)、選中所有控件Ctrl+A,然后取消對圖片控件的選擇,將其它控件剪切Ctrl+X,再粘帖Ctrl+C,編譯運行或Ctrl+T看看,是不是可以了? (2)、在.rc文