1. 程式人生 > >Visual C++6.0 繪製標題欄

Visual C++6.0 繪製標題欄

    CDC類定義裝置環境物件類,其物件提供操作裝置環境(如顯示器或印表機)的成員函式,以及操作與視窗客戶區向關的顯示描述表的成

員函式。

         CDC::CreateCompatibleDC

          virtual BOOL CreateCompatibleDC(CDC* pDC);

           返回值:成功,則返回非0值,否則返回0。

           引數:pDC 裝置環境指標,若為NULL,則該函式建立一個與系統顯示相容的記憶體裝置環境。

           說明:建立一個與pDC指定的只支援光柵操作的裝置相容的記憶體裝置環境。

       CDC::SelectObject

CBitmap*SelectObject(CBitmap* pBitmap);

          返回值:被替代物件的一個指標。若錯誤,則返回NULL。

          引數:pBitmap 指向一個要選擇CBitmap物件的指標。

          說明:將一個物件選入裝置環境,新選物件將替代同一型別的先前物件。

     CDC::StretchBlt

        BOOL StretchBlt(int x,int y,int nWidth,int nHeight,CDC* pSrcDC,int xSrc,int ySrc,int nSrcWidth,int nSrcHeight,DWORD dwRop );

       返回值:若點陣圖繪製成功,則返回非0值,否則返回0。

       引數:x,目標矩形左上角的邏輯x座標。

                  y,目標矩形左上角的邏輯y座標。

                 nWidth,目標矩形的邏輯寬度。

                nHeight,目標矩形的邏輯高度。

                 pSrcDC,指定原裝置環境。

                  XSrc  ,原矩形左上角的邏輯x座標。

                 dwRop,指定要執行的光柵操作,.SRCCOPY 將源點陣圖拷貝到目標點陣圖。

                說明:將點陣圖從源矩形拷貝到目標矩形中,並按需要拉伸或壓縮點陣圖使其適應目標矩形的大小。

CBitmap類:封裝Windowde 圖形裝置介面(GDI)點陣圖,提供管理點陣圖的成員函式。要使用該物件,首先要構造該物件,然後通過初始化

成員函式連線點陣圖控制代碼到該物件,最後呼叫該物件的成員函式。

#include<afxwin.h>

         CBitmap::LoadBitmap

             BOOL LoadBitmap(UINT nIDResource);

             返回值:若成功,則返回非0,否則返回0.

            引數: nIDResource 點陣圖資源ID號。

            說明:從可執行檔案載入點陣圖資源,由nIDResouce中ID號標識,載入後連線到CBitmap物件,若無法載入,則返回0。

BOOL CLandingDlg::DrawTitleBar(CWindowDC &dc) //繪製標題欄
{
    CDC memDC;
    BITMAP bm;
   memDC.CreateCompatibleDC ((CDC*)&dc); //建立相容DC
   memDC.SelectObject (&m_Title); //把標題欄點陣圖選入DC
   m_Title.GetObject (sizeof(bm),&bm); //得到點陣圖資訊
  dc.StretchBlt (3,1,bm.bmWidth ,bm.bmHeight ,&memDC,0,0,bm.bmWidth ,bm.bmHeight ,SRCCOPY);//繪製標題欄
  memDC.DeleteDC (); //用完刪除相容DC
  return TRUE;
}