gdi+在Graphics遇到的new 问题。
来源:互联网 发布:mac ios模拟器 玩游戏 编辑:程序博客网 时间:2024/06/01 10:46
如果在gdi+中使用 如下:Graphics * graphics = new Graphics(pDc->m_hDC); 那么它就会报错,原因如下:
http://support.microsoft.com/kb/317799/en-us 。。 是因为在调试版本下,mfc的宏扩展,将new 运算符扩展为三个参数, 另外两个额外参数分别是source file name 和code line numbe。如果使用非mfc类,就会出现问题,所以在新类中还要重载如下new 和delete :
void * (operator new)(size_t nSize, LPCSTR lpszFileName, int nLine)
{
return DllExports::GdipAlloc(nSize);
}
void operator delete(void* p, LPCSTR lpszFileName, int nLine)
{
DllExports::GdipFree(p);
}
即可
方法,可以在 gdi+的源代码 graphicsbase.h 中补上
void * (operator new)(size_t nSize, LPCSTR lpszFileName, int nLine)
{
return DllExports::GdipAlloc(nSize);
}
void operator delete(void* p, LPCSTR lpszFileName, int nLine)
{
DllExports::GdipFree(p);
}
即可
ps: 如果删除 Graphics 对象,则应该在 GdiplusShutdown(gdiplusToken); 之前,否则报错。如下
delete m_graphics;
GdiplusShutdown(gdiplusToken);
- gdi+在Graphics遇到的new 问题。
- GDI+在界面开发中遇到的问题汇总
- GDI+在界面开发中遇到的问题汇总
- Win32 下使用 GDI+ 遇到的问题.
- MFC+多线程+GDI编程遇到的问题
- 使用Graphics中的drawRect画图遇到的问题
- GDI+中Graphics::DrawImage的BUG
- GDI+画图类Graphics的使用
- GDI继Graphics的学习2
- 关于gdi+精确计算graphics.DrawString所需要的宽度问题
- 最近在用SDK写俄罗斯的时候遇到了很多问题 ...点亮GDI盲区值得看
- 开发某WinCE MFC GDI程序中遇到的问题——bmp解析,lib,gdi
- GDI+新建画刷时出现new错误问题
- ssh搭建遇到 new jsonArray问题,StringUtils找不到的问题;
- GDI(Graphics Device interface)
- GDI+ Graphics类
- GDI+ Graphics类
- Graphics类与GDI
- header()函数使用说明
- kernels
- 常用照片尺寸
- 多维数组的问题
- STL中bind2nd的用法
- gdi+在Graphics遇到的new 问题。
- 网站被黑前你还能做什么?
- BSTR详解一 - BSTR简介和内部结构
- 养路费一年征多少?中国政法大学教授致信交通部长建议公开
- javascript 发邮件
- Java Server Page
- asp 防注入代码
- 优化vsftp
- 如何用触发器管理MySQL数据库