1、在项目中引入GDI+的头文件,使用GDI+的命名空间。
2、初始化GDI+系统资源。
3、使用完毕后,释放GDI+所使用的资源。
4、在编译时加入GDIPlus.lib链接库。
下面以一个简单的程序来说明以上四个步骤:
1、打开VS2008,文件|新建-项目-MFC应用程序,名字暂且命名为GDIPlusDemo。然后选择单文档(SDI)。默认是多文档,在左边可以更改。
2、打开stdafx.h,在该文件的末尾处加入以下代码:
//引入GDI+头文件
#include <gdiplus.h>
//使用GDI+命名空间
using namespace Gdiplus;
3、在使用GDI+资源之前,应通过GdiplusStartup函数进行GDI+资源的初始化工作,而在程序结束前,应通过GdiplusShutdown函数进行GDI+资源的释放工作。这两项工作,可以在GDIPlusDemoApp的初始化函数BOOL CGDIPlusDemoApp::InitInstance()和GDIPlusDemoApp的析构函数CGDIPlusDemoApp::~CGDIPlusDemoApp()中进行,下面是详细步骤:
在GDIPlusDemo.cpp文件中,(红色字体为应添加代码)
ULONG_PTR gdiplusToken; // 声明一个全局变量
BOOL CGDIPlusDemoApp::InitInstance()
{
// 如果一个运行在 Windows XP 上的应用程序清单指定要
// 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,
//则需要 InitCommonControlsEx()。否则,将无法创建窗口。
INITCOMMONCONTROLSEX InitCtrls;
InitCtrls.dwSize = sizeof(InitCtrls);
// 将它设置为包括所有要在应用程序中使用的
// 公共控件类。
InitCtrls.dwICC = ICC_WIN95_CLASSES;
InitCommonControlsEx(&InitCtrls);
//GDI+系统资源的初始化
GdiplusStartupInput gdiplusStartupInput;
GdiplusStartup(&gdiplusToken,&gdiplusStartupInput,NULL);
CWinApp::InitInstance();
// 初始化 OLE 库
if (!AfxOleInit())
{
AfxMessageBox(IDP_OLE_INIT_FAILED);
return FALSE;
}
AfxEnableControlContainer();
……
系统自动代码行
……
return TRUE;
}
然后,写析构函数:
CGDIPlusDemoApp::~CGDIPlusDemoApp()
{
//销毁GDI+资源
GdiplusShutdown(gdiplusToken);
}
(注:如果提示未声明,请在CGDIPlusDemoApp类中声明)
4,也是最后,添加链接库,项目-属性-链接器-输入-附加依赖项:输入:GDIPlus.lib。
然后,就可以开始你的GDI+编程之旅了。祝大家编程愉快!工作顺利!