GetDC(),ReleaseDC()
用GetDC()得到的DC, 必须调用ReleaseDC()
用CreateDC()创建的DC, 必须调用DeleteDC()
两者是不能混淆的.
一种典型的错误代码如下:
CDC* pDC = GetDC();
…..
//做一些无聊的事
…..
pDC->DeleteDC(); //做了错误的事
一般情况下, 上面这个代码也能够工作, 就是有时要报一点
CHandleMap::RemoveHandle(HANDLE h)异常, 跟踪进代码也看不出啥问题.
区别:
ReleaseDC()仅是释放对DC的引用
DeleteDC()是删除DC对象, 使用GetDC()的时候, 明显的这个DC不是我们自己创建的, 使用DeleteDC()的话就会将别人(通常是MFC框架)创建的DC干掉, 这样当别人要使用自己创建的DC时, 就会产生异常 了.
ReleaseDC()恰好解决这个问题, 它仅是释放一个引用, 告诉创建者DC, 我已经不用了.
转载于:https://www.cnblogs.com/xingrun/p/3409484.html
GetDC(),ReleaseDC()相关推荐
- GetDC() ReleaseDC()引起的内存泄漏
BUG: GetDC() ReleaseDC()引起的内存泄漏 今天同事在一个定时器中画图,结果发现内存缓慢增长,怀疑是内存泄漏,查了很久,该释放的GDI资源都释放了的啊,可是还是无法解决,最后把Ge ...
- 关于HDC GetDC ReleaseDC
HDC hdc;定义一个设备上下文的句柄,在API中用 如API中响应WM_PAINT时,要在窗口中显示文字: RECT rc: GetClientRect(hWnd,&rc);//获取客户区 ...
- BeginPaint EndPaint 与GetDC ReleaseDC的区别
1. 绘图一般在WM_PAINT消息里面绘图, 一般用BeginPaint( HWND hwnd, LPPAINTSTRUCT lpPaint) 与BOOL EndPaint( HWND hWnd ...
- MFC窗口的GetDC()/ReleaseDC()有bug会造成内存泄露
MFC窗口的GetDC()/ReleaseDC()有bug会造成内存泄露,解决办法:使用win32的对应接口::GetDC()/::ReleaseDC().
- 错误: 内存泄漏,当您使用 GetDC 方法和 ReleaseDC 方法的 CWnd 类版本
症状 调用CWnd::GetDC函数跟CWnd::ReleaseDC函数的代码运行时,会出现 4 个字节的内存泄漏. 原因 导致此错误的原因是当前未知. 解决方案 若要避免此问题,请不要使用GetDC ...
- BeginPaint和GetDC有什么区别?【转】
转自:http://hi.baidu.com/d_b_mike/blog/item/ec8820d0fb9127d5572c84a9.html 这是个windows编程问题. 第一种情况显示出来的字很 ...
- VC绘制位图--BeginPaint()与GetDC()的区别
//======================================================================== //TITLE: // EVC绘制位图--B ...
- BeginPaint和GetDC有什么区别
windows编程问题 第一种情况显示出来的字很正常. case WM_PAINT: gdc = BeginPaint (hwnd, &ps); TextOut (gdc, 0, 0, s, ...
- GetDC()内存泄露
最近碰到的问题,在定时器中重绘图像发现了内存泄露稳定,反复测试发现是调用了GetDC函数导致的.我用的是visual studio 2010.上网一搜果然发现了问题. http://blog.csdn ...
最新文章
- 2021年大数据Spark(五十一):Structured Streaming 物联网设备数据分析
- collections之defaultdict
- html使两个按钮重叠,div按钮重叠HTML
- 架构师必须知道的架构设计原则
- To B 的产品经理和 To C 的产品经理有什么差别? To B 的产品经理的价值如何体现?
- 工作307:uni-富文本的实现逻辑跳转
- 【mysql】提取字符串中的数字、字母、中文,或任意组合
- 动态获取textarea后面的p标签_HTML简单标签连起实现的小玩意:
- Unable to run mksdcard SDK tool
- 网页聊天室php无数据库_无需数据库的PHP聊天室程序
- CCNA考试题库中英文翻译版及答案13
- 弘辽科技:如何快速提高淘宝店铺的综合评分
- 期望收益率、方差、协方差、相关系数的计算公式
- 一键去win7快捷方式小箭头
- QStyleOption类型
- 关于Spring项目配置多个数据源的实例演示
- 5G 技术特点与应用
- aecmap快捷键_arcmap快捷键
- 一阶高通滤波+二阶Mahony滤波的四元数姿态解算
- C++中的RVO、NRVO与Copy Elision
热门文章
- nvme固态必须uefi启动吗_【Ubuntu】UEFI安装Windows 10和Ubuntu 18.04双系统(深度爬坑)...
- 2021吊打面试官系列!mysql客户端命令
- 稀土永磁材料磁矩(磁偏角)测量比对实验
- 【软工实践】第五次作业——软件产品案例分析
- 电动车排名前十名是哪些品牌?看这篇文章就够了~
- siri为什么比谷歌搜索“笨”?
- Ubuntu 移动和复制文件夹(文件)到另一个文件夹
- 1613-3-傅溥衍 总结《2016年10月7日》【连续第七天总结】
- 使用 TensorFlow 在卷积神经网络上实现 L2 约束的 softmax 损失函数
- (4)(4.2.3) NAVIO2的组装和布线快速入门