VC下利用Picture控件实现png图片按钮(鼠标初始、按下、松开、获得焦点四种状态)

FROM :

http://blog.csdn.net/zzzili/article/details/7411357



代码:http://download.csdn.net/detail/zzzili/4186684


注意:

添加库GDIplus库

在stdafx.h添加:

#ifndef ULONG_PTR
#define unsigned __int32 ULONG_PTR;
#endif
#include
#include
#include "gdiplus.h"
#pragma comment(lib,"gdiplus.lib")
using namespace Gdiplus;

Gdiplus相关介绍:http://blog.163.com/strive_only/blog/static/8938016820096184453517/


移植到VS2008出现问题:

http://blog.csdn.net/howard_liu1314/article/details/8273889

不要忘记以下部分:

BOOL CTestPngApp::InitInstance()

ULONG_PTR m_gdiplusToken;
GdiplusStartupInput gdiplusStartupInput;
GdiplusStartup(&m_gdiplusToken,  &gdiplusStartupInput,  NULL);

}

以上要在2010以上版本才可以,VS2008编译通不过/

http://blog.csdn.net/lejun2011/article/details/7578711

VS2008中包含GDI+的开发包,配置相对简单。对每个需要使用GDI+的项目,都必须使用同样地方法进行配置。

1、在项目属性中添加GDI+静态链接库

选择【项目】->Example属性】(Example为项目名称),打开项目属性对话框。展开配置属性,选择连接器下面的输入,然后在附加依赖项中添加“gdiplus.lib”,要想在Release模式下程序也能正常编译,只要选择左上角配置下得“Release”选项。

2、添加必要的代码

1)在"stdafx.h"文件中添加代码:(注意一定要写在#include// MFC 核心组件和标准组件声明的后面,之后的任一位置都行

#include

using namespace Gdiplus;

2)为CExampleApp类添加两个程序变量:GdiplusStartupInput类型的m_GdiplusStartupInputULONG_PTR类型的m_GdiplusToken

GdiplusStartupInputm_GdiplusStartupInput;

ULONG_PTRm_GdiplusToken;

3)在CExampleApp类的InitInstance函数中添加如下代码:

//GDI+图像库初始化

GdiplusStartup(&m_GdiplusToken,&m_GdiplusStartupInput, NULL);

(4)重写CExampleApp类的ExitInstance函数。

int CImageShowApp::ExitInstance()

{

       // TODO: 在此添加专用代码和/或调用基类

       GdiplusShutdown(m_GdiplusToken);

       return CWinApp::ExitInstance();

}

这样GDI+在VS2008中的配置工作就完成了。


你可能感兴趣的:(VC)