VC小技巧:窗體中顯示bmp圖象

2010-08-28 10:45:15來源:西部e網(wǎng)作者:

    雖然在高手看來這是垃圾問題,但對于我們這些菜鳥,這是很必須的.因?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)該能懂.

關(guān)鍵詞:VC