一、准备工作(PNG图片透空窗体)
1、图片资源准备工作。首先在Photoshop中编辑所用图片,将这些图片保存成为带透明通道的.png格式(GDI+调用显示时能够透明调背景)。这样程序中图片资源就准备好了。
2、下面开始做好展开此项工作的基本准备工作。
创建一个对话框应用程序,名称为Gdi+PNG
在VC6.0下的设置:
(1)、下载gdiplus forVC6.0的SDK,(总共两兆多)
(2)、在C盘建立文件夹“GDI+”将开发包拷贝在里面,亦即建立如下路径,以便例子代码顺利编译(当然你可以放到任意你喜欢的地方,只要在你的Project中正确包含路径即可!)。
(也可以将gdiplus.h放在你的VC6.0的include路径,gdiplus.lib放在你的lib路径,将gdiplus.dll放到你的system32目路下,windows2000以前的版本需要gdiplus.dll文件)
C:\GDI+\Includes
C:\GDI+\Lib
C:\GDI+\gdiplus.dll
(3)在stdAfx.h中添加对GDI+环境的设置 #define UNICODE
#ifndef ULONG_PTR // 在VC2003上可无
#define ULONG_PTR unsigned long* // 在VC2003上可无(实为无附号4字节)
#endif // 在VC2003上可无
#include <comdef.h> //初始化COM口
#include "c:\gdi+\includes\gdiplus.h" // 请修改为你的头文件路径
using namespace Gdiplus; // 名称空间
#pragma comment(lib, "c:\\gdi+\\lib\\gdiplus.lib") // 请修改为你的.lib文件路径
在VC2003中如下设置:
(1)VS2003.net中打开“项目”---“属性”---“链接器”---“输入”---“附加依赖项”,输入“gdiplus.lib”。
(2)在“stdafx.h”文件中输入
#include <comdef.h> //初始化COM口
#include <gdiplus.h> // GDI+头文件
using namespace Gdiplus; // 命名空间
(3)VS2003中已经带有GDI+库了。
在应用程序的主头文件(Gdi+PNG.h)里面,在应用程序项目的应用类中,添加一个成员变量,如下列代码:
ULONG_PTR m_pGdiToken; // 其中,ULONG_PTR是一个DWORD数据类型,
// 该成员变量用来保存GDI+被初始化后在应用程序中的GDI+标识,
// 以便能在应用程序退出后,引用该标识来调用Gdiplus:: GdiplusShutdown来关闭GDI+
在应用程序的类行为(Gdi+PNG.cpp)InitInstance()初始化函数里加入如下代码:
CWinApp::InitInstance(); // 这个函数后面
GdiplusStartupInput m_gdi