CClientDC cdc(this); cdc.TextOut(0,20,"cdc"); CDC dc;
dc.CreateCompatibleDC(&cdc); dc.TextOut(0,0,"aaa");
cdc.BitBlt(0,0,100,100, &dc, 0,0,SRCCOPY);为什么“cdc”可以显示,而"aaa"不能显示
dc.CreateCompatibleDC(&cdc); dc.TextOut(0,0,"aaa");
cdc.BitBlt(0,0,100,100, &dc, 0,0,SRCCOPY);为什么“cdc”可以显示,而"aaa"不能显示
dc.CreateCompatibleDC(&cdc);
CBitmap Bitmap;
Bitmap.CreateCompatibleBitmap(&cdc, 100, 100);
dc.SelectObject(&Bitmap);dc.TextOut(0,0,"aaa");
cdc.BitBlt(0,30,100,100, &dc, 0,0,SRCCOPY);
可能返回失败了.
CPaintDC cdc(this);
CDC dc;
CBitmap bmp;
CRect rc;
this->GetClientRect(&rc);
cdc.FillSolidRect(rc.left, rc.top, rc.right, rc.bottom, bkColor);
dc.CreateCompatibleDC(&cdc);
bmp.CreateCompatibleBitmap(&cdc, rc.right-rc.left, rc.bottom-rc.top);
dc.SelectObject(&bmp);
另外:
rdsnow(Ling) :我选的是dc,不是cdc
我已经SelectObject()了:dc.SelectObject(&bmp);但是还是显示黑色背景
GetClientRect(&rect);
dc.FillSolidRect(&rect,RGB(0xff,0xff,0xff));
这个当然是可以的拉,CreateCompatibleBitmap创建出来的bitmap选入内存DC后的背景颜色,或者说Bitmap是黑色的要怎么解决呢?
因为我想改变这张位图的颜色的
CDC dc;
CBitmap bmp;
CRect rc;
this->GetClientRect(&rc);
cdc.FillSolidRect(rc.left, rc.top, rc.right, rc.bottom, bkColor);
dc.CreateCompatibleDC(&cdc);
bmp.CreateCompatibleBitmap(&cdc, rc.right-rc.left, rc.bottom-rc.top);
cdc.SelectObject(&bmp);//由原始dc创建bmp,不要从mdc创建,试试