首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

用GDI+的资源如何释放

2012-07-08 
用GDI+的资源怎么释放C/C++ codevoid RoleObj::RoleInfo(){int nrightorleftm_Directionright?nrightor

用GDI+的资源怎么释放

C/C++ code
void RoleObj::RoleInfo(){    int nrightorleft;    m_Direction==right?nrightorleft=20:nrightorleft=30;    //头上的角色名    Font font(L"Arial", 10);    PointF pointf(m_nPosX+20+nrightorleft,m_nPosY);    SolidBrush brush(Color::Black);    Graphics gp(m_ParentWnd->m_memDC);    gp.DrawString(m_strRoleObjName.AllocSysString(),m_strRoleObjName.GetLength(),&font,pointf,&brush);        //脚下的阴影    //Graphics g(m_ParentWnd->m_memDC);    Color color(128,0,0,0);    SolidBrush solibrush(color);    gp.FillEllipse(&solibrush,m_nPosX+nrightorleft,m_nPosY+85,50,20);}


先声明上面的函数是循环运行的,每次运行程序后内存就一直已4K的增长量上升,但把上面那段函数全部删除后就没有上升的情况了,于是我就知道是上面的资源没有释放,但是GDI+怎么释放资源呢 MSDN没有说可以用C++释放啊 ,貌似只有C#才能释放吧,那咋办,,,,求解。。

[解决办法]
m_strRoleObjName.AllocSysString()

要释放

热点排行