【轉】MFC添加背景圖片方法的三種方法

來源:互聯網
上載者:User

標籤:

原帖1:http://www.cnblogs.com/xiao-cheng/archive/2012/01/17/2325114.html

原帖2:http://www.cnblogs.com/fanghui/p/3565067.html

 

 

方法1:使用StretchBlt()函數,具有映像自適應表單功能

//在Onpaint函數中加入如下代碼    //----------給視窗設定背景圖片----------------------------        CPaintDC dc(this);        CRect   myrect;           GetClientRect(&myrect);           CDC   dcMem;           dcMem.CreateCompatibleDC(&dc);           CBitmap   bmpBackground;           bmpBackground.LoadBitmap(IDB_BITMAP1);   //IDB_BITMAP_TOOL是你自己的圖對應的ID         BITMAP   bitmap;           bmpBackground.GetBitmap(&        bitmap);           CBitmap   *pbmpOld=dcMem.SelectObject(&bmpBackground);           dc.StretchBlt(0,0,myrect.Width(),myrect.Height(),&dcMem,0,0,           bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);

 

方法2:

1、聲明成員變數               
CBrush m_brush;
2、在InitDialog中添加代碼:CBitmap bmp;bmp.LoadBitmap(IDB_BITMAP1); //IDB_BITMAP1是圖片資源IDm_brush.CreatePatternBrush(&bmp); 3、重載對話方塊的OnCtlColor,改最後的傳回值:return (HBRUSH)m_brush;

 

方法3:把下面這段代碼加進OnPaint()裡就行了

CPaintDC dc(this);CBitmap   bitmap;bitmap.LoadBitmap(IDB_BITMAP1);     // 這個IDB_BITMAP1要自己添加CBrush   brush; brush.CreatePatternBrush(&bitmap);CBrush*   pOldBrush   =   dc.SelectObject(&brush);dc.Rectangle(0,0,200,200);          // 這些參數可以調整圖片添加位置和大小dc.SelectObject(pOldBrush);    

 

【轉】MFC添加背景圖片方法的三種方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.