DeleteDC 与 ReleaseDC的区别
DeleteDC 与 CreateDC 对应
ReleaseDC 与 GetDC 对应
借过来的(GetDC),就要放还回去(ReleaseDC)
自已创建的(CreateDC),要自已删除(DeleteDC)
总之,要“用过之后, 不留痕迹”
还有以下的特殊情况,如CClientDC dc(this)或CPaintDC dc(this);
对于这样的dc到最后是否需要ReleaseDC()?
答案是:不需要。
因为,在MFC中,WM_PAINT之类的消息在销毁时会自动调用
CPaintDC的析构函数,对对像dc进行销毁,如下:
CPaintDC::~CPaintDC()
{
ASSERT(m_hDC != NULL);
ASSERT(::IsWindow(m_hWnd));
::EndPaint(m_hWnd, &m_ps);//在EndPaint函数中释放dc
Detach();
}
而CClientDC的对像dc则会在CClientDC的析构函数中被释放
CClientDC::~CClientDC()
{
ASSERT(m_hDC != NULL);
::ReleaseDC(m_hWnd, Detach());
}
DeleteDC 与 ReleaseDC的区别相关推荐
- DeleteDC() 与 ReleaseDC() 的区别 [转]
DeleteDC 该函数删除指定的设备上下文环境(DC). 原型: BOOL DeleteDC(HDC hdc): 参数: hdc:设备上下文环境的句柄. 返回值: 成功,返回非零值:失败,返回零.调 ...
- DeleteDC与ReleaseDC的区别
1.CreateCompatibleDC后用DeleteDC 2.GetDC后用ReleaseDC
- DeleteDC() 与 ReleaseDC() 的区别
点击打开原文链接 DeleteDC 该函数删除指定的设备上下文环境(DC). 原型: BOOL DeleteDC(HDC hdc): 参数: hdc:设备上下文环境的句柄. 返回值: 成功,返回非零值 ...
- DeleteDC、ReleaseDC、DeleteObject - [Daliy APIs]
DeleteDC 该函数删除指定的设备上下文环境(DC). 原型: BOOL DeleteDC(HDC hdc): 参数: hdc:设备上下文环境的句柄. 返回值: 成功,返回非零值:失败,返回零.调 ...
- deletedc和releasedc
对于create的dc应该予以deletedc,而对于getdc的应予以releasedc
- BeginPaint EndPaint 与GetDC ReleaseDC的区别
1. 绘图一般在WM_PAINT消息里面绘图, 一般用BeginPaint( HWND hwnd, LPPAINTSTRUCT lpPaint) 与BOOL EndPaint( HWND hWnd ...
- 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, ...
最新文章
- 机器学习与高维信息检索 - Note 3 - 逻辑回归(Logistic Regression)及相关实例
- python打印倒等腰梯形,Linux使用shell脚本做的菱形等一些益智题
- 【数据结构与算法】之深入解析“分发糖果”的求解思路与算法示例
- Python基础学习总结、学习展望
- 第八次立会顺利召开!
- iis 7 安装php环境_iis7配置php环境图文教程
- 如何在右键新建中添加新建xmind文件
- 阿里字体图标库的使用
- redis管理_Redis 桌面管理工具Redis Desktop Manager
- 计算机编程导论python程序设计答案-计算机科学与Python编程导论_学堂云答案
- 创建快捷方式以轻松查看Windows剪贴板
- 河海大学计算机与信息科学,刘凡 - 河海大学 - 计算机与信息学院
- java 如何实现多条件筛选,JAVA-日常工作解决的bug2-多选条件筛选
- Anchor Base 和 Anchor Free
- 还是学生的时候 想着存些对我有用 的url
- cortex m3/m4处理器的复位设计
- android 设置背景ah,Ahjesus,
- 光场相机模拟程序解读
- ARM 汇编的操作 设置CPU寄存器BASEPRI
- 关于Mac 下载vscode 过于缓慢的解决办法,亲测有效
热门文章
- liberty | 在IDEA整合Springboot与IBM liberty
- 一加6安装android,如何在一加6或6T上安装Android Q Beta
- Mysql using 用法
- 经典英文电影台词~有必要都背下来,英语会很强悍~
- 【纪中集训2019.3.25】芬威克树
- 东星医疗通过注册:上半年营收2亿 苏州济峰与平安基金是股东
- win10系统设置--应用和功能,怎么清除列表中已经卸载的软件?
- static作用(修饰函数、局部变量、全局变量)
- 男孩子学管理好还是计算机好,2020年男孩子学什么专业好
- 干货|安服工程师技能手册详细总结