本人今天照书编程序,是一个关于使用GDI+的一个例子,但是发现书中介绍的VC版本是2005,而我的版本是VC6.0,如何配置GDI+成了首要的问题,于是就找度娘了,发现有很文章。十分高兴,说明这是一个简单的问题。一下问别人的步骤:
1.下载(GDI+ for VC6.0 SDK)GDIPlus文件将其中的Includes和Lib中的文件拷到vc目录下的Includes和Lib文件夹中.
下载地址:http://www.codeguru.com/code/legacy/gdi/GDIPlus.zip(引用他人的)
2.在你将要使用GDI+的工程中,完成初始化工作:
在StdAfx.h中加入
#define ULONG_PTR unsigned long
#include <Gdiplus.h>
using namespace Gdiplus;
#include "GdiPlus.h"
3.在CApp头文件中加入
ULONG_PTR m_gdiplusToken;
GdiplusStartupInput m_gdiplusStartupInput;
4.在 BOOL C×App::InitInstance() 中添加
GdiplusStartup(&m_gdiplusToken, &m_gdiplusStartupInput, NULL);
5.在int CXApp::ExitInstance()加入(这个方法需要自己加入 在ClassWizard 中,注意在ClassName中选择CXApp,Messages列表框中选择ExitInstance)
GdiplusShutdown(m_gdiplusToken);
6.在Project->stting->Link->Object/libary中加入gdiplus.lib
此时GDI+设置成功。
上面的这个版本随处可见,写该文章的主人说了(他自己已经实现了),于是我就照着这个版本做了,很郁闷的是我却没有实现。出现了一下问题:
c:\microsoft visual studio\vc98\include\gdiplusenums.h(29) : error C2146: syntax error : missing ';' before identifier 'GraphicsState'
c:\microsoft visual studio\vc98\include\gdiplusenums.h(29) : fatal error C1004: unexpected end of file found
Error executing cl.exe.
Creating browse info file...
BSCMAKE: error BK1506 : cannot open file '.\Debug\StdAfx.sbr': No such file or directory
这让我非常郁闷,我也是按部就班,为什么我的会出问题呢,没办法,第一步就没成功,怎么做下去啊!唉。。。。。 又是一阵度娘! 忙了一上午,最后终于在一篇文章中找到了答案,该文章也是介绍如何在VC6.0中配置GDI+,大体步骤跟上面基本一样,但是在第二步中,稍微有点区别,下见该文章的第二步:
2.在你将要使用GDI+的工程中,完成初始化工作:
在StdAfx.h中加入
#define ULONG_PTR ULONG
#include <afxdtctl.h>
#include "gdiplus.h"
using namespace Gdiplus;
#pragma comment(lib, "gdiplus.lib");
其实跟上面的第二步没有很大区别,区别在于多了一个头文件(#include <afxdtctl.h>),我百度了一下这个头文件是干什么用的,不幸的是,俺没有找到答案。不过加上这个头文件后,俺的程序可以运行了,没问题了。
希望对您有用,如果有哪位大神能解释一下,小弟不胜感激!