MFC中GDI对象泄露问题 http://bbs.csdn.net/topics/390415174
展开全部
CDC *pDC = GetDC();
CBrush brush, *oldbrush;
brush.CreateSolidBrush(RGB(255,255,0));
oldbrush = pDC->SelectObject(&brush);
RECT rc; rc.left = 30; rc.top = 20; rc.bottom = rc.top + 80; rc.right = rc.left + 80;
pDC->Rectangle(&rc);
pDC->SelectObject(oldbrush);
brush.DeleteObject();
ReleaseDC(pDC);
代码没有问题,不会造成内存泄露。
多了一个刷子也不是问题,因为本身CDC对象就应该有一个默认pen和默认brush,如果之前没有,会在这里增加一个,但之后再反复操作,就不会增加了。
CBrush brush, *oldbrush;
brush.CreateSolidBrush(RGB(255,255,0));
oldbrush = pDC->SelectObject(&brush);
RECT rc; rc.left = 30; rc.top = 20; rc.bottom = rc.top + 80; rc.right = rc.left + 80;
pDC->Rectangle(&rc);
pDC->SelectObject(oldbrush);
brush.DeleteObject();
ReleaseDC(pDC);
代码没有问题,不会造成内存泄露。
多了一个刷子也不是问题,因为本身CDC对象就应该有一个默认pen和默认brush,如果之前没有,会在这里增加一个,但之后再反复操作,就不会增加了。
威孚半导体技术
2024-08-19 广告
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层...
点击进入详情页
本回答由威孚半导体技术提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询