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