從資源中裝入位圖

   1.在VC 開發環境的資源編輯器裏可將要顯示的BMP 位圖文件加載到資源中,並用資源ID 來標識它,在應用的視類的成員函數OnDraw(CDC 3 pDC) 中顯示,如:
   
    CDC 3 hMemDC = new CDC;
   
    Cbitmap 3 hBitmap = new Cbitmap
   
    hBitmap = LoadBitmap ( ID-BMPSOURCE)  / / ID-BMPSOURCE 爲資源ID
   
    hMemDC - > CreateCompatibleDC(pDC)
   
    hMemDC - > SelectObject (hBitmap)
   
    pDC - >BitBlt (0 ,0 ,nWidth ,nHeight ,hMemDC ,0 ,0 ,SRCCOPY)
   
    由於ID-BMPSOURCE 爲資源ID ,BMP 位圖文件不能在應用運行時裝入

 

====================================

2.//放在OnPaint()裏

{//設置背景圖片

CRect    rect;  

GetClientRect(&rect);  

CDC    *pDC=GetDC();  

CDC    memdc;  

memdc.CreateCompatibleDC(pDC);  

CBitmap    bitmap;  

//從資源中載入位圖  

bitmap.LoadBitmap(IDB_BITMAP1);  

memdc.SelectObject(bitmap);  

pDC->BitBlt(0,0,rect.Width(),rect.Height(),&memdc,0,0,SRCCOPY);

}

 

 

實現多顏色邊框的編輯框Edit

 

新建一個建立對話框的應用程序,向窗體中添加8個編輯框控制。
通過New Class窗口生成一個新類CColourEdit,基類爲CEdit。添加一個COLORREF類型的成員變量 m_Colour。

HBRUSH CColourEdit::CtlColor(CDC* pDC, UINT nCtlColor)

{

CDC* dc = GetDC(); //獲取畫布對象
CRect rect;
GetClientRect(rect); //獲取客戶區域
rect.InflateRect(1,1,1,1);//將客戶區域增大一個像素
CBrush brush (m_Colour);//創建畫刷
dc->FrameRect(rect,&brush);//繪製邊框

return NULL;

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章