雖然在高手看來這是垃圾問題,但對于我們這些菜鳥,這是很必須的.因?yàn)楦呤趾懿恍紝戇@些的,我剛剛學(xué)會,為了挽救普天之下和我一樣的菜鳥們,就寫了這樣一篇文章。
在vc中顯示BMP并不象VB那么簡單,用個(gè)loadpicture,什么格式全部ok,在vc中又需要做一些額外工作.我們用 SDI作示范。
新建一個(gè)SDI的工程,所有都是默認(rèn).打開資源編輯器,右鍵,import 選擇圖片導(dǎo)入.使用默認(rèn)的ID,不要嘗試去編輯他,因?yàn)樗念伾^了256.在OnDraw函數(shù)中添加如下代碼:
CDC memDC;//內(nèi)存設(shè)備場景 CBitmap cb;//位圖類對象 CRect rect; GetWindowRect(&rect); cb.LoadBitmap (IDB_BITMAP1);//載入資源 memDC.CreateCompatibleDC (pDC);//創(chuàng)建內(nèi)存設(shè)備上下文 CBitmap *oldbitmap=NULL; oldbitmap=memDC.SelectObject (&cb);//將位圖選入當(dāng)前設(shè)備場景 pDC->BitBlt (0,0,rect.Width (),rect.Height (),&memDC,0,0,SRCCOPY);//將內(nèi)存場景的圖象拷貝到屏幕上 memDC.SelectObject (oldbitmap); |
這樣就完成了, 其實(shí)不難理解,同一般的GDI作圖是一樣的原理.
加上注釋,廣大菜鳥應(yīng)該能懂.