程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> 關於VC++ >> 改變視圖單調的背景

改變視圖單調的背景

編輯:關於VC++

我們在用Visual C++寫程序時,會看到她自動產生的界面背景非常的單調,我們可以自己來改變這個問題來實現美麗的背景,希望本文對初學者有所幫助。

本文代碼運行效果圖如下

下面來跟我做:

1.首先准備好一張美麗的圖片,保存為BMP格式。

2.新建一個工程,命名為:test ,在資源編輯裡用Import導入剛才准備好的位圖文件.ID為IDB_BITMAP

如果位圖是大於16色的,會出現無法顯示的提示。不要緊,這並不影響程序最終的顯示。

3.代碼實現

3.1 我們為CTestView類添加一個變量 CBrush m_brushBackground;這個畫刷就是用於畫背景的。

3.2 我們在CTestView的構造函數中加入如下代碼:

CBitmap bmp;
  bmp.LoadBitmap(IDB_BITMAP); ///加載位圖
  m_brushBackground.CreatePatternBrush(&bmp); ///創建位圖畫刷

3.3 接著我們需要在OnDraw函數中畫出來,代碼如下:

CRect rect;
  GetClientRect(rect);///取得客戶區域
  pDC->FillRect(rect,&m_brushBackground); ///用背景畫刷填充區域

3.4 為了避免背景的閃爍,使顯示更加完美,我們添加WM_ERASEBKGND消息的處理函數,並取消調用父類的處理函數,代碼如下:

BOOL CTestView::OnEraseBkgnd(CDC* pDC)
{
  return TRUE;
}

接下來,我們就編譯運行該程序了,效果不錯吧!

本文配套源碼

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved