天天看點

VC程式設計之設定客戶區背景圖檔

在很多系統中出于美觀的需要常常要設定背景圖檔。下面我介紹一種在客戶區設定背景圖檔的簡單方法。

1 .将背景bmp 圖檔導入到工程,資源ID 這裡假設為 IDB_BITMAP1

2 .在視圖類添加如下代碼:

void CSetBkMapView::OnDraw(CDC* pDC)  

{  

    CSetBkMapDoc* pDoc = GetDocument();  

    ASSERT_VALID(pDoc);  

    if (!pDoc)  

        return;  

    // TODO: 在此處為本機資料添加繪制代碼  

// 擷取客戶區大小  

    CRect rcClient;  

    GetClientRect(&rcClient);  

    CBitmap bmp; // 定義一個位圖變量  

    CBitmap* oldBmp;  

    CDC memDC;  

    bmp.LoadBitmap(IDB_BITMAP1);  

    // 擷取位圖資訊  

    BITMAP bm;  

    bmp.GetBitmap( &bm );  

    memDC.CreateCompatibleDC(pDC);  

    oldBmp=memDC.SelectObject(&bmp); // 将位圖資源選入記憶體DC  

  // 在客戶區繪制位圖  

    pDC->BitBlt(0,0,bm.bmWidth,bm.bmHeight,&memDC,0,0,SRCCOPY);  memDC.SelectObject(oldBmp);// 将舊位圖選回裝置環境  

    bmp.DeleteObject(); // 删除位圖資源  

    memDC.DeleteDC(); // 删除記憶體DC  

}  

效果圖如下:

繼續閱讀