19,468
社区成员
发帖
与我相关
我的任务
分享
BOOL Cmfc_GDIDlg::OnEraseBkgnd(CDC* pDC)
{
// TODO: Add your message handler code here and/or call default
//两个兼容DC
CDC MemDC1;
CDC MemDC2;
MemDC1.CreateCompatibleDC(NULL);
MemDC2.CreateCompatibleDC(NULL);
//加载位图
CBitmap bitmap;
BITMAP BMInfo;
bitmap.LoadBitmapW(IDB_BITMAP1);
bitmap.GetBitmap(&BMInfo);
//窗口大小
CRect rect;
GetClientRect(rect);
MemDC1.SelectObject(&bitmap);
//缩放到第二内存DC
CBitmap Membitmap;
Membitmap.CreateCompatibleBitmap(pDC,rect.Width(),rect.Height());
MemDC2.SelectObject(&Membitmap);
MemDC2.StretchBlt(0,0,rect.Width(),rect.Height(),&MemDC1,0,0,BMInfo.bmWidth ,BMInfo.bmHeight,SRCCOPY);
MemDC2.TextOutW(0,0,L"我是固定文本");
//最后在屏幕显示再来
//pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&MemDC2,0,0,BMInfo.bmWidth ,BMInfo.bmHeight,SRCCOPY);
pDC->BitBlt(0,0,rect.Width(),rect.Height(),&MemDC2,0,0,SRCCOPY);
pDC->TextOutW(100,100,L"时间显示");
bitmap.DeleteObject();
MemDC1.DeleteDC();
MemDC2.DeleteDC();
return true;
//return CDialog::OnEraseBkgnd(pDC);
}