下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、VCPicture控件的加載圖像的使用總結(jié)非動(dòng)態(tài)顯示圖片(即圖片先通過資源管理器載入,有一個(gè)固定ID)動(dòng)態(tài)載入圖片(即只需要在程序中指定圖片的路徑即可載入)為方便說明,我們已經(jīng)建好一個(gè)基于對話框的工程,名為Ttest,對話框類為CTestDlg(一)vcpicturef空件非動(dòng)態(tài)載入圖片方法1先從最簡單的開始用picture控件來實(shí)現(xiàn)步驟:先在資源里Import張圖片,ID為IDB_BITMAP2,然后在對話框上添加一個(gè)picture控件,右鍵點(diǎn)擊打開屬性將type下拉框選擇BITMAP,緊跟著下面就出現(xiàn)一個(gè)Image下拉框,拉開就會(huì)看到所有已經(jīng)載入好的圖片,選擇你要的圖片.運(yùn)行程序即可看到.
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控件動(dòng)態(tài)載入圖片.方法3.圖像控件(本例用KoDak圖像編輯控件)1.首先應(yīng)該保證系統(tǒng)中有這個(gè)控件。注意,它不能單獨(dú)使用,必須和其他幾個(gè)控件(特別是Imgcmn.dll)同使用
4、。如果沒有,從別的機(jī)器上copy過來即可。這幾個(gè)文件是Imgadmin.ocx,Imgcmn.dll,Imgedit.ocx,Imgscan.ocx,Imgshl.dll,Imgthumb.ocx,Imgutil.dll,把它們copy到windowssystem目錄下,然后用regsvr32.exe將它們分別注冊。2.打開工程,進(jìn)入資源管理器,在對話框上單擊右鍵,單擊InsertActivexcontrol選擇Kodak圖象編輯控件,大小任意。在對話框上選中該控件,為其添加變量:m_ctrlPicture。在BOOLCTestDlg:OnInitDialogO添加如下:BOOLCTestDl
5、g:OnInitDialog()CDialog:OnInitDialog();m_ctrlPicture.SetImage(aa.jpg);/保證圖像在工程目錄下,也可以寫絕對路徑m_ctrlPicture.Display();returnTRUE;/returnTRUEunlessyousetthefocustoacontrol/EXCEPTION:OCXPropertyPagesshouldreturnFALSE編譯運(yùn)行就OK了,此種方法的好處就是可能針對多種圖像格式.方法4.vcpicture控件通過CBitmap,HBITMAP,直接用OnPaint()繪制首先在CTestDlg類中聲
6、明一個(gè)變量:CBitmapm_bmp;然后我們在對話框中加入一個(gè)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;/得到圖像高度/得到了圖像的寬度和高度后,我們就可以對圖像大小進(jìn)行適應(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()/以下三種情況任選一種會(huì)是不同效果(只能一種存在)/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)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6《蠶的一生》說課稿-2023-2024學(xué)年科學(xué)三年級(jí)下冊教科版001
- 3 壓縮空氣 (說課稿)-2024-2025學(xué)年科學(xué)三年級(jí)上冊教科版
- 2025年中國二斗移門下對開柜行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報(bào)告
- Unit 4 Customs and Traditions Digging in 主題詞匯說課稿-2024-2025學(xué)年高中英語滬外版(2020)必修第一冊
- 2025年印花鎳網(wǎng)項(xiàng)目投資可行性研究分析報(bào)告
- 二零二五年度特種用途毛紗買賣合同棉紗定制合同4篇
- 20“精彩極了”和“糟糕透了”說課稿-2024-2025學(xué)年語文五年級(jí)上冊統(tǒng)編版
- 基于物聯(lián)網(wǎng)的二零二五年度農(nóng)業(yè)智能化改造項(xiàng)目合同3篇
- 2025年男士錢包項(xiàng)目投資可行性研究分析報(bào)告
- 2024-2030年中國四川省在線旅游行業(yè)市場發(fā)展監(jiān)測及投資潛力預(yù)測報(bào)告
- 2025年急診科護(hù)理工作計(jì)劃
- 高中家長會(huì) 高二寒假線上家長會(huì)課件
- 違規(guī)行為與處罰管理制度
- 個(gè)人教師述職報(bào)告錦集10篇
- 四川省等八省2025年普通高中學(xué)業(yè)水平選擇性考試適應(yīng)性演練歷史試題(含答案)
- 《內(nèi)部培訓(xùn)師培訓(xùn)》課件
- 《雷達(dá)原理》課件-3.3.3教學(xué)課件:相控陣?yán)走_(dá)
- 西方史學(xué)史課件3教學(xué)
- 2024年中國醫(yī)藥研發(fā)藍(lán)皮書
- 紅色中國風(fēng)蛇年年會(huì)邀請函
- 廣東省佛山市 2023-2024學(xué)年五年級(jí)(上)期末數(shù)學(xué)試卷
評(píng)論
0/150
提交評(píng)論