【内存释放问题】
OnPaint()函数中:
CPaintDC dc(this);
//背景
CRect rect;
GetClientRect(&rect);
CDC dcMem;
dcMem.CreateCompatibleDC(&dc);
CBitmap bmpBackground;
bmpBackground.LoadBitmap(IDB_BITMAP7); //对话框的背景图片
BITMAP bitmap;
bmpBackground.GetBitmap(&bitmap);
CBitmap *pbmpOld = dcMem.SelectObject(&bmpBackground);
dc.SetStretchBltMode(COLORONCOLOR);
dc.StretchBlt(0, 0, rect.Width(), rect.Height(), &dcMem, 0, 0, bitmap.bmWidth, bitmap.bmHeight, SRCCOPY);
CDC *pDC = this->GetDC();
CPen* pPenRed = new CPen;
pPenRed->CreatePen(PS_SOLID, 2, RGB(180, 181, 181));
CGdiObject* pOldPen = pDC->SelectObject(pPenRed);
使用完了,
pDC->SelectObject(pPenRed);
ReleaseDC(pDC);
dcMem.SelectObject(pbmpOld);//这个对么
还有内存泄露,大神帮忙看看还有的要怎么写?
...全文
相关推荐
内存释放解决开机前的蓝屏问题
你还为开机前蓝屏的事烦恼吗,有了内存释放软件就解决了!
修改IE进程数及内存释放问题
修改IE进程数及内存释放问题
JavaScript的内存释放问题详解
主要介绍了JavaScript的内存释放问题详解的相关资料,需要的朋友可以参考下
js 内存释放问题
里之所以使用setTimeout(),因为可以彻底回收当前所有对象,防止变量之间的引用导致释放失败,可以当作一个保障措施,按照道理来说,这里不会执行了。
基于.NET BitmapImage 内存释放问题的解决方法详解
网上查到的代码,多数的写法使用MemoryStream来实现: 代码如下:new Thread(new ThreadStart(() => { var bitmap = new BitmapImage(); bitmap.BeginInit(); using (var stream = new MemoryStream(File.ReadAllBytes(…))) { bitmap.StreamSource = stream; bitmap.CacheOption = BitmapCacheOption.OnLoad; bitmap


