weidagang2046的專欄

          物格而后知致
          隨筆 - 8, 文章 - 409, 評論 - 101, 引用 - 0
          數據加載中……

          改變視圖單調的背景

          我們在用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;
          }
          		

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

          from: http://www.vckbase.com/document/viewdoc/?id=341

          posted on 2006-07-23 13:33 weidagang2046 閱讀(101) 評論(0)  編輯  收藏 所屬分類: Windows

          主站蜘蛛池模板: 新源县| 望都县| 抚州市| 常德市| 宣城市| 玛沁县| 乐山市| 乌兰浩特市| 鄂温| 淳化县| 逊克县| 五寨县| 江城| 平凉市| 通渭县| 六盘水市| 郸城县| 贵溪市| 三门县| 西城区| 盐津县| 周口市| 辽阳市| 班玛县| 高青县| 枣强县| 桃源县| 连山| 大理市| 太仆寺旗| 皋兰县| 塘沽区| 原阳县| 黄大仙区| 溧阳市| 安义县| 黄山市| 永丰县| 新沂市| 阿拉善盟| 沙河市|