⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_17682.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:17682 发表者:cmoth 发表日期:2002-10-14 15:57:52
<br>主题:那里导致了内存泄漏??
<br>内容:以下代码:<BR>void CBmpObject::DrawObject(CDC &pDC,long xoffset,long yoffset)<BR>{<BR>//return;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;HBITMAP bitmap;<BR>&nbsp;&nbsp;&nbsp;&nbsp;HBITMAP OldBitmap; <BR>&nbsp;&nbsp;&nbsp;&nbsp;CDC MemDC;<BR>&nbsp;&nbsp;&nbsp;&nbsp;MemDC.CreateCompatibleDC(&pDC); <BR>&nbsp;&nbsp;&nbsp;&nbsp;bitmap=(HBITMAP)LoadImage(0,cFileName,IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION); <BR>&nbsp;&nbsp;&nbsp;&nbsp;ASSERT(bitmap); <BR>&nbsp;&nbsp;&nbsp;&nbsp;OldBitmap=(HBITMAP)MemDC.SelectObject(bitmap); <BR>&nbsp;&nbsp;&nbsp;&nbsp;pDC.StretchBlt((rRect.left - xoffset)&nbsp;&nbsp;,(rRect.top -yoffset) ,(rRect.Width()) ,(rRect.Height()),&MemDC,0,0,bmpinfo.bmWidth,bmpinfo.bmHeight,SRCCOPY); <BR>&nbsp;&nbsp;&nbsp;&nbsp;MemDC.SelectObject(OldBitmap); <BR>&nbsp;&nbsp;&nbsp;&nbsp;ReleaseDC(AfxGetApp()-&gt;GetMainWnd()-&gt;m_hWnd,MemDC.m_hDC);<BR>}<BR><BR>这个函数在OnDraw函数中调用,每次调用就在任务管理其中发现她多占用了大约50K左右的内存,这个函数那里有问题?<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:徐景周 回复日期:2002-10-14 16:29:25
<br>内容:最后应该用MemDC.DeleteDC()吧&nbsp;&nbsp;
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:cmoth 回复日期:2002-10-14 17:46:51
<br>内容:问题找到了,最后要调用&nbsp;&nbsp;&nbsp;&nbsp;DeleteObject(bitmap);就对了,谢谢徐兄帮忙。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -