我用下面代码画个背景图
void C****View::OnPaint()
{ CPaintDC* pDC=new CPaintDC(this);
CBitmap bmp;
RECT Rect;
RECT RectView;
POINT ptSize;
CDC dcmem;
BITMAP bm;
int b = bmp.LoadBitmap(IDB_BITMAP2);
dcmem.CreateCompatibleDC(pDC);
dcmem.SelectObject(&bmp);
dcmem.SetMapMode(pDC->GetMapMode());
GetObject(bmp.m_hObject, sizeof(BITMAP), (LPSTR)&bm);
GetClientRect(&Rect);
ptSize.x=bm.bmWidth;
ptSize.y=bm.bmHeight;
pDC->DPtoLP((LPPOINT)&ptSize,1);
GetClientRect(&RectView);
CRect RectBmp = RectView; pDC->StretchBlt(RectBmp.left, RectBmp.top, RectBmp.right,\
RectBmp.bottom, &dcmem, 0, 0, bm.bmWidth, bm.bmHeight,\
SRCCOPY); dcmem.DeleteDC();}为什么我输出文字到窗口上背景就没了,而且最小化最大化后,文字又消失了背景又跳出来,怎么解决这个问题。急
void C****View::OnPaint()
{ CPaintDC* pDC=new CPaintDC(this);
CBitmap bmp;
RECT Rect;
RECT RectView;
POINT ptSize;
CDC dcmem;
BITMAP bm;
int b = bmp.LoadBitmap(IDB_BITMAP2);
dcmem.CreateCompatibleDC(pDC);
dcmem.SelectObject(&bmp);
dcmem.SetMapMode(pDC->GetMapMode());
GetObject(bmp.m_hObject, sizeof(BITMAP), (LPSTR)&bm);
GetClientRect(&Rect);
ptSize.x=bm.bmWidth;
ptSize.y=bm.bmHeight;
pDC->DPtoLP((LPPOINT)&ptSize,1);
GetClientRect(&RectView);
CRect RectBmp = RectView; pDC->StretchBlt(RectBmp.left, RectBmp.top, RectBmp.right,\
RectBmp.bottom, &dcmem, 0, 0, bm.bmWidth, bm.bmHeight,\
SRCCOPY); dcmem.DeleteDC();}为什么我输出文字到窗口上背景就没了,而且最小化最大化后,文字又消失了背景又跳出来,怎么解决这个问题。急
文字消失了是因为没有重绘文字,至少OnPaint()里没有