15,979
社区成员
发帖
与我相关
我的任务
分享
void SetBackBitmap(HBITMAP hBmp)
{
if (hBmp == NULL && m_hBitmap)
{
::DeleteObject(m_hBitmap);
m_hBitmap = NULL;
m_memBackgroundDC.DeleteDC();
return;
}
m_hBitmap = hBmp;
if (!m_memBackgroundDC.m_hDC)
{
CWindowDC dc(NULL);
m_memBackgroundDC.CreateCompatibleDC(dc.m_hDC);
}
::SelectObject(m_memBackgroundDC.m_hDC, m_hBitmap);
}
void DrawBackGround(HDC pDCHandle, const CRect& rect)
{
if (m_hBitmap)
{
CDCHandle dcTemp(NULL);
dcTemp.CreateCompatibleDC(pDCHandle);
dcTemp.SelectBitmap(m_hBitmap);
CDCHandle dc(pDCHandle);
dc.BitBlt(rect.left, rect.top, rect.Width(), rect.Height(), dcTemp.m_hDC,
0, rect.top, SRCCOPY);
}
}
CBitmap bmpBackground;
bmpBackground.LoadBitmap(IDB_BITMAP2);
SetBackBitmap((HBITMAP)bmpBackground.Detach());