15,978
社区成员
发帖
与我相关
我的任务
分享
// 重载CStatic类型,在WM_PAINT消息的OnPaint函数中加载Bitmap位图和绘制文字
void CNewStatic::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
CString strText(_T("Hello,World!"));
CDC memDC;
memDC.CreateCompatibleDC(&dc);
CRect rc;
GetClientRect(&rc);
CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP1);
HBITMAP hOldbmp = (HBITMAP)memDC.SelectObject(bmp);
memDC.SetBkMode(TRANSPARENT);
memDC.DrawText(strText, &rc, DT_CENTER|DT_VCENTER);
dc.BitBlt(0, 0, rc.Width(), rc.Height(), &memDC, 0, 0, SRCCOPY);
memDC.SelectObject(hOldbmp);
bmp.DeleteObject();
memDC.DeleteDC();
// Do not call CStatic::OnPaint() for painting messages
}