<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    weidagang2046的專欄

    物格而后知致
    隨筆 - 8, 文章 - 409, 評(píng)論 - 101, 引用 - 0
    數(shù)據(jù)加載中……

    更改窗口客戶區(qū)的背景

    看多了簡單的純白色背景客戶區(qū),有沒有想過讓自己的程序中的客戶區(qū)變成以位圖(BMP)作為背景呢?那么下面提供的方法可以幫得到你。
    接下來我會(huì)用兩種方法來實(shí)現(xiàn)將位圖加入顯示到客戶區(qū)中。不過首先要說的是,在此之前我們要準(zhǔn)備好一張需要加到客戶區(qū)的位圖,并把它加入到程序的資源文件中。
    第一種方法以BitBlt來實(shí)現(xiàn)。我
    們新建一個(gè)單文檔MFC程序,把位圖加入到資源后,我們重點(diǎn)把代碼寫進(jìn)C××View(此為繼承于CView的類)中的OnDraw函數(shù)中。也就是說在窗口重繪時(shí)就將圖片加進(jìn)客戶區(qū)。
    我們看源代碼:
    void CLoadBitmapView::OnDraw(CDC* pDC) {
    ?CLoadBitmapDoc* pDoc = GetDocument();
    ?ASSERT_VALID(pDoc);
    ?// TODO: add draw code for native data here?
    ?CBitmap bitmap;
    ?//這里的IDB_BITMAP_TEXT是我的工程中的位圖資源
    ?//將位圖資源加入到CBitmap的對(duì)象中
    ?bitmap.LoadBitmap(IDB_BITMAP_TEXT);
    ?//創(chuàng)建一個(gè)設(shè)備對(duì)象
    ?CDC drawDC;
    ?//為指定設(shè)備創(chuàng)建信息上下文。這提供了一種不創(chuàng)建設(shè)備上下文即獲取有關(guān)設(shè)備信息的快速方式
    ?drawDC.CreateCompatibleDC(pDC);
    ?//加入位圖對(duì)象到DC對(duì)象
    ?drawDC.SelectObject(&bitmap);
    ?BITMAP bmpInfo;
    ?//獲取位圖信息
    ?bitmap.GetObject(sizeof(bmpInfo),&bmpInfo);
    ?//指定要執(zhí)行的光柵操作。光柵操作代碼定義GDC如何合并輸出操作中的顏色,包括當(dāng)前畫刷、可能的源位圖和目標(biāo)位圖。
    ?pDC->BitBlt(0,0,bmpInfo.bmWidth,bmpInfo.bmHeight,&drawDC,0,0,SRCCOPY);
    }
    測(cè)試一下,位圖是不是已經(jīng)加入了客戶區(qū)呢?
    第二種方法,是通過畫刷來對(duì)客戶區(qū)進(jìn)行填充來實(shí)現(xiàn)的。
    我們來看源代碼:
    void CLoadBitmapView::OnDraw(CDC* pDC)
    {
    ?CLoadBitmapDoc* pDoc = GetDocument();
    ?ASSERT_VALID(pDoc);
    ?// TODO: add draw code for native data here
    ?//選入設(shè)備
    ?CBitmap bitmap;
    ?bitmap.LoadBitmap(IDB_BITMAP_TEXT);
    ?CBrush bru;
    ?CRgn rgn;
    ?CRect rect;
    ?//獲取客戶區(qū)的區(qū)域信息
    ?GetClientRect(&rect);
    ?rgn.CreateRectRgnIndirect(&rect);
    ?//位圖指定的模式初始化畫刷
    ?bru.CreatePatternBrush(&bitmap);
    ?//用指定畫刷和指定區(qū)域來填充
    ?pDC->FillRgn(&rgn,&bru);
    }
    運(yùn)行一下,是不是同樣可以實(shí)現(xiàn)呢?

    from:

    posted on 2006-11-16 20:03 weidagang2046 閱讀(934) 評(píng)論(0)  編輯  收藏 所屬分類: Windows

    主站蜘蛛池模板: 国产精品亚洲一区二区三区| 成人无码区免费视频观看| 99在线视频免费观看视频| 亚洲AV无码专区国产乱码4SE| 边摸边吃奶边做爽免费视频99| 久久午夜免费视频| 亚洲人成7777影视在线观看| 免费在线看污视频| 老司机永久免费网站在线观看| 亚洲精品国产肉丝袜久久| 香港a毛片免费观看| 亚洲成a人片77777老司机| 一级毛片在线观看免费| 亚洲av无码av在线播放| 国产成人免费高清在线观看| 亚洲国产成人精品无码区二本 | 一级毛片大全免费播放| 亚洲电影日韩精品| 色噜噜噜噜亚洲第一| 中文字幕无码精品亚洲资源网| 国产精品免费在线播放| 国产亚洲精品精华液| 一级毛片在线免费看| 男人和女人高潮免费网站| 在线观看亚洲av每日更新| 无码日韩精品一区二区免费暖暖 | 青青操免费在线视频| 久久精品国产精品亚洲艾草网| 永久黄网站色视频免费| 91精品全国免费观看含羞草| 久久精品国产亚洲AV香蕉| 日韩免费a级毛片无码a∨| a在线观看免费视频| 亚洲国产美女视频| 免费看片免费播放| 亚洲日本在线免费观看| 男人的天堂av亚洲一区2区| 亚洲另类小说图片| 亚洲影院在线观看| 久久精品亚洲视频| 亚洲日产韩国一二三四区|