



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、VCPicture控件的加載圖像的使用總結(jié)非動態(tài)顯示圖片(即圖片先通過資源管理器載入,有一個固定ID)動態(tài)載入圖片(即只需要在程序中指定圖片的路徑即可載入)為方便說明,我們已經(jīng)建好一個基于對話框的工程,名為Ttest,對話框類為CTestDlg(一)vcpicturef空件非動態(tài)載入圖片方法1先從最簡單的開始用picture控件來實現(xiàn)步驟:先在資源里Import張圖片,ID為IDB_BITMAP2,然后在對話框上添加一個picture控件,右鍵點擊打開屬性將type下拉框選擇BITMAP,緊跟著下面就出現(xiàn)一個Image下拉框,拉開就會看到所有已經(jīng)載入好的圖片,選擇你要的圖片.運行程序即可看到.
2、方法2.vcpicture控件通過背景圖同樣如上,先載入一張圖片,ID為IDB_BITMAP2TestDlg.h中CBrushm_brBk;/在public中定義TestDlg.cpp中在初始化函數(shù)OnInitDialog()中加入:BOOLCTestDlg:OnInitDialog()CDialog:OnInitDialog();CBitmapbmp;bmp.LoadBitmap(IDB_BITMAP2);m_brBk.CreatePatternBrush(&bmp);bmp.DeleteObject();returnTRUE;/returnTRUEunlessyousetthefocust
3、oacontrol在打開類向?qū)?,找到WM_CTLCOLOR消息,重載得對應(yīng)函數(shù)OnCtlColor(),添加如下:HBRUSHCTestDlg:OnCtlColor(CDC*pDC,CWnd*pWnd,UINTnCtlColor)HBRUSHhbr=CDialog:OnCtlColor(pDC,pWnd,nCtlColor);if(pWnd=this)returnm_brBk;returnhbr;(二)vcpicture控件動態(tài)載入圖片.方法3.圖像控件(本例用KoDak圖像編輯控件)1.首先應(yīng)該保證系統(tǒng)中有這個控件。注意,它不能單獨使用,必須和其他幾個控件(特別是Imgcmn.dll)同使用
4、。如果沒有,從別的機器上copy過來即可。這幾個文件是Imgadmin.ocx,Imgcmn.dll,Imgedit.ocx,Imgscan.ocx,Imgshl.dll,Imgthumb.ocx,Imgutil.dll,把它們copy到windowssystem目錄下,然后用regsvr32.exe將它們分別注冊。2.打開工程,進入資源管理器,在對話框上單擊右鍵,單擊InsertActivexcontrol選擇Kodak圖象編輯控件,大小任意。在對話框上選中該控件,為其添加變量:m_ctrlPicture。在BOOLCTestDlg:OnInitDialogO添加如下:BOOLCTestDl
5、g:OnInitDialog()CDialog:OnInitDialog();m_ctrlPicture.SetImage(aa.jpg);/保證圖像在工程目錄下,也可以寫絕對路徑m_ctrlPicture.Display();returnTRUE;/returnTRUEunlessyousetthefocustoacontrol/EXCEPTION:OCXPropertyPagesshouldreturnFALSE編譯運行就OK了,此種方法的好處就是可能針對多種圖像格式.方法4.vcpicture控件通過CBitmap,HBITMAP,直接用OnPaint()繪制首先在CTestDlg類中聲
6、明一個變量:CBitmapm_bmp;然后我們在對話框中加入一個picture標(biāo)簽,名為IDC_STATIC1,然后:BOOLCDisplayPic:OnInitDialog()CDialog:OnInitDialog();if(m_bmp.m_hObject!=NULL)/判斷m_bmp.DeleteObject();/載入圖片HBITMAPhbmp=(HBITMAP):LoadImage(AfxGetInstanceHandle(),c:aaa.bmp,IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION|LR_LOADFROMFILE);if(hbmp=NULL)re
7、turnFALSE;/該斷程序用來取得加載的BMP的信息/m_bmp.Attach(hbmp);DIBSECTIONds;BITMAPINFOHEADER&bminfo=ds.dsBmih;m_bmp.GetObject(sizeof(ds),&ds);intcx=bminfo.biWidth;/得到圖像寬度intcy=bminfo.biHeight;/得到圖像高度/得到了圖像的寬度和高度后,我們就可以對圖像大小進行適應(yīng),/即調(diào)整控件的大小,讓它正好顯示一張圖片/CRectrect;GetDlgItem(IDC_STATIC1)-GetWindowRect(&rect);ScreenToCli
8、ent(&rect);GetDlgItem(IDC_STATIC1)-MoveWindow(rect.left,rect.top,cx,cy,true);/調(diào)整大小returnTRUE;/returnTRUEunlessyousetthefocustoacontrol/EXCEPTION:OCXPropertyPagesshouldreturnFALSE圖片加載成功了,標(biāo)簽大小也適應(yīng)了,下面就是繪制繪制圖像了,打開類向?qū)?重載WM_PAINT消息voidCDisplayPic:OnPaint()/以下三種情況任選一種會是不同效果(只能一種存在)/CPaintDCdc(this);/若用此句,得
9、到的是對話框的DC,圖片將被繪制在對話框上.CPaintDCdc(GetDlgltem(IDC_STATICl);/用此句,得到picture控件的DC,圖像將被繪制在控件上/CDCdc;/dc.m_hDC=:GetDC(NULL);/若用此兩句,得到的是屏幕的DC,圖片將被繪制在屏幕上/CRectrcclient;GetDlgItem(IDC_STATIC1)-GetClientRect(&rcclient);CDCmemdc;memdc.CreateCompatibleDC(&dc);CBitmapbitmap;bitmap.CreateCompatibleBitmap(&dc,rccli
10、ent.Width(),rcclient.Height();memdc.SelectObject(&bitmap);CWnd:DefWindowProc(WM_PAINT,(WPARAM)memdc.m_hDC,0);CDCmaskdc;maskdc.CreateCompatibleDC(&dc);CBitmapmaskbitmap;maskbitmap.CreateBitmap(rcclient.Width(),rcclient.Height(),1,1,NULL);maskdc.SelectObject(&maskbitmap);maskdc.BitBlt(0,0,rcclient.Width(),rcclient.Height(),&memdc,rcclient.left,rcclient.top,SRCCOPY);CBrushbrush;brush.CreatePatternBrush(&m_bmp);dc.FillRect(rcclient,&brush);dc.BitBlt(rcclient.left,rcclient.top,rcclient.W
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東省汕頭市金中南區(qū)學(xué)校2025屆高三5月月考(期中)化學(xué)試題含解析
- 湖北師范大學(xué)文理學(xué)院《中醫(yī)學(xué)與中國文學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 西安交通大學(xué)《工程識圖A》2023-2024學(xué)年第二學(xué)期期末試卷
- 新疆政法學(xué)院《建筑結(jié)構(gòu)BM》2023-2024學(xué)年第一學(xué)期期末試卷
- 湘南幼兒師范高等專科學(xué)校《成本會計模擬實訓(xùn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 河南開封科技傳媒學(xué)院《絲網(wǎng)印刷》2023-2024學(xué)年第一學(xué)期期末試卷
- 山東省泰安市寧陽縣2024-2025學(xué)年數(shù)學(xué)三下期末考試試題含解析
- 舟山市定嵊泗縣2025年三年級數(shù)學(xué)第二學(xué)期期末考試試題含解析
- 哈爾濱市巴彥縣2024-2025學(xué)年小學(xué)六年級數(shù)學(xué)畢業(yè)檢測指導(dǎo)卷含解析
- 黑龍江省望奎縣2025年初三英語試題下學(xué)期第二次階段考試試題含答案
- 美國租房合同中文
- 科室一級護理質(zhì)控匯報
- 科技公司研發(fā)團隊建設(shè)方案
- 惡性腫瘤患者的康復(fù)
- 帶式運輸機傳動裝置的設(shè)計
- 玩具照相機細(xì)分市場深度研究報告
- 行政事業(yè)單位國有資產(chǎn)管理內(nèi)部控制制度
- 人工智能算法與實踐-第16章 LSTM神經(jīng)網(wǎng)絡(luò)
- 浙江省A9協(xié)作體2023-2024學(xué)年高二下學(xué)期4月期中英語試題
- 醫(yī)療救助補助資金管理辦法
- 2025屆江蘇南京市鹽城市高三第二次模擬考試歷史試卷含解析
評論
0/150
提交評論