15,979
社区成员
发帖
与我相关
我的任务
分享
CPaintDC dc(this);
CRect rc(CPoint(0, 0), CSize(140, 138));
CRgn rgn;
VERIFY(rgn.CreateRoundRectRgn(0, 0, rc.Width(), rc.Height(), 5, 5));
CDC memdc;
VERIFY(memdc.CreateCompatibleDC(&dc));
memdc.SelectClipRgn(&rgn);
CBitmap btScreen;
btScreen.CreateCompatibleBitmap(&dc, rc.Width(), rc.Height());
CBitmap *pOldBitmapScreen = memdc.SelectObject(&btScreen);
CImage image;
image.LoadFromResource(AfxGetApp()->m_hInstance,IDB_BITMAP1);
image.BitBlt(memdc.m_hDC,0,0,image.GetWidth(),image.GetHeight(),0,0,SRCCOPY);
dc.BitBlt(100, 100, rc.Width(), rc.Height(), &memdc, 0, 0, SRCCOPY);
//释放的就省了
memdc.SelectClipRgn(&rgn);
替换为
dc.SelectClipRgn(&rgn);
//添加
memdc.BitBlt(dc, ..............)
//后面不用改
memdc.SelectClipRgn(&rgn);