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;
}