MFC GDI环境HFONT、Cpen类型使用完后必须按时释放
来源:互联网 发布:英国海淘直邮网站 知乎 编辑:程序博客网 时间:2024/05/21 06:53
在使用OpenGL编写基于MFC的OpengGL PPI显示器的时候,开始总会有内存溢出,一直找不到原因,后来发现是创建了一个HFONT的字体变量,然后字体用完后没有释放,原本以为HFONT类型的变量和int型变量一样,是一种基本类型,无需手动释放,后来发现,这是微软在MFC GDI环境下提供的一种变量,和Cpen一样,需要做手动释放,具体代码如下:
//建立字体 HFONT hFont; //创建字体 hFont =CreateFont(-16,0,0,0,400,0,0,0,GB2312_CHARSET,0,0,0,FF_MODERN,TEXT("宋体")); //显示相应字体的字 XDSetOpenGLText(47,180,"180°",hFont,1.0f,1.0f,0.0f); //字体用完后一定要主动手动去释放字体变量 //释放字体变量,必须释放,否则会有溢出等问题 DeleteObject(hFont);
Cpen类似也是一样的,CPen的释放代码如下:
//建立CPen CPenpen(PS_SOLID,1,m_GP_clrFrame); CPen*pOldPen; pOldPen = pdc->SelectObject(&pen); //使用Cpen......//释放CPEN pdc->SelectObject(pOldPen); pen.DeleteObject();
0 0
- MFC GDI环境HFONT、Cpen类型使用完后必须按时释放
- CPen,HFONT用完一定要释放,不然会造成GDI对象的增加,程序崩溃
- GDI创建旋转HFONT
- MFC CPen
- CPEN使用
- VS2010/MFC编程入门之五十(图形图像:GDI对象之画笔CPen)
- VS2010/MFC编程入门之五十(图形图像:GDI对象之画笔CPen)
- C++/MFC-GDI主要对象(Bitmap、CBrush、CFont、CPalette、CPen和CRgn)
- GDI画笔和CPen类
- [MFC]CPen画笔类、CBrush画刷类使用介绍
- MFC 使用GDI+ 绘制Png、Jpg等类型图片
- MFC画笔CPen类
- MFC 使用 GDI+
- C++MFC使用GDI+
- mfc GDI+ 使用 一
- MFC中使用GDI+
- 关于GDI资源使用后未释放,导致GDI对象猛增,程序花屏,异常退出的问题
- MFC之CBrush和CPen
- 《设计模式之禅》——命令模式
- 基于Android2.3.5系统:JNI与HAL实例解析[一]
- 马踏棋盘
- C++中类似C#用于折叠代码的语句
- 在MFC环境下配置OpenGL导致闪屏的解决方案
- MFC GDI环境HFONT、Cpen类型使用完后必须按时释放
- eXtremeDB - Trigram index
- UIViewController的生命周期及iOS程序执行顺序
- Reverse Linked List II
- AMP、Grid-on-Chip、SMP等多核心设计
- 素数的家族(求素数)
- #include<filename.h>和#include"filename.h"的区别
- Matlab发送Email的方法
- 素数的家族(哥德巴赫猜想)