MFC添加背景圖片

1、在OnPaint()函數中增長背景圖片函數

    //添加背景圖片
    CPaintDC dc(this);                           //定義CPaint指針
    CBitmap   bitmap;                            //定義位圖
    bitmap.LoadBitmap(IDB_BACKGROUND);           //這個IDB_BITMAP1要本身添加
    CBrush   brush;                              
    brush.CreatePatternBrush(&bitmap);
    CBrush*   pOldBrush   =   dc.SelectObject(&brush);
    dc.Rectangle(0,0,800,480);                  //前兩個爲圖片起始位置,後兩個爲圖片終點位置,實際爲圖片的像素大小
    dc.SelectObject(pOldBrush);this

2、直接使用Picture Control 控件增長指針

1.從VC6.0的Resources中添加一張bmp圖片code

如圖:orm

右擊Dialog,選擇import,就能夠導入一張圖片到資源文件中,會默認生成一個Bitmap文件夾,資源ID號爲IDB_BITMAP1blog

2.在對話框中拖入一個picture控件,type爲Bitmap,IMAGE中找到IDB_BITMAP1(這是上一步生成的)點擊肯定,圖片

bmp圖片會自動填充對話框中相應的部分,如圖所示:內存

3.若是咱們但願圖片恰好鋪滿對話框的話,咱們選擇的bmp圖片先要裁剪好它的長和寬(分辨率)爲合適的值ci

 

除了上面的拖入一個圖片控件,把控件和位圖資源關聯以外,資源

還能夠用代碼控制控件在對話框會CFormView中的顯示。以下面的代碼

在基於CFormView的單文檔應用程序中,添加一個OnDraw函數,在函數中添加下面的代碼:

void CMy201403183View::OnDraw(CDC* pDC) 
{
// TODO: Add your specialized code here and/or call the base class
CMy201403183Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);//將位圖裝入內存
CDC MemDC;
MemDC.CreateCompatibleDC(pDC);//建立內存設備環境
CBitmap*  OldBitmap=MemDC.SelectObject(&bitmap);
BITMAP bm;  //建立BITMAP結構變量
bitmap.GetBitmap(&bm);//獲取位圖信息
pDC->BitBlt (0,0,bm.bmWidth,bm.bmHeight,&MemDC,0,0,SRCCOPY);//顯示位圖  開始的四個參數能夠設置源位圖在目標圖上顯示的位置,(0,0)表示從最左上角開始顯示
  pDC->SelectObject(OldBitmap);  //恢復設備環境

}

相關文章
相關標籤/搜索