//创建透明画刷
CClientDC dc(this);
//使用(HBRUSH)GetStockObject可以返回空画刷句柄,但CBrush
//无法通过画刷句柄构造,可通过给其静态成员函数FromHandle传递HBRUSH
//句柄获得CBrush指针
CBrush *pBrush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));
CBrush *pOldBrush=dc.SelectObject(pBrush);
dc.Rectangle(CRect(m_ptOrigin,point));
dc.SelectObject(pOldBrush);
加载BMP图片
HBITMAP hBitmap;
//hBitmap = (HBITMAP)::LoadImage(::AfxGetInstanceHandle(), "NetFriend.bmp", IMAGE_BITMAP, 0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);//从文件中加载,
hBitmap = (HBITMAP)::LoadImage(::AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_BITMAP1), IMAGE_BITMAP, 0,0,LR_CREATEDIBSECTION);//从资源文件中加载
HBITMAP hbmp = LoadBitmap(::AfxGetInstanceHandle(),MAKEINTRESOURCE(uBmpID));;//(HBITMAP)::LoadImage(::AfxGetInstanceHandle(), MAKEINTRESOURCE(uBmpID), IMAGE_BITMAP, 0, 0, NULL);
// CBitmap bmp;
// bmp.LoadBitmap(uBmpID);
// HBITMAP hbmp = (HBITMAP)bmp;
if (NULL != m_bitmap.m_hObject)
{
m_bitmap.DeleteObject();
}
if (hbmp != NULL)
{
m_bitmap.Attach(hbmp);
m_bitmap.GetBitmap(&m_bmp);
}
CBitmap* pOldBitmap = (CBitmap*)(dcCompatible.SelectObject(&m_bitmap));
//130, 224, 219, 272
pDC->StretchBlt(0, 0, rect.Width(), rect.Height(),
&dcCompatible, 0, 0, m_bmp.bmWidth,
m_bmp.bmHeight, SRCCOPY);
dcCompatible.SelectObject(pOldBitmap);
//ReleaseDC(&dcCompatible);
dcCompatible.DeleteDC();