VC中使用GDI+实现为按钮加载Png图片
来源:互联网 发布:windows7查看443端口 编辑:程序博客网 时间:2024/04/25 07:26
一 、在stdafx.h文件中添加头文件,命名空间,库的引用,
#include<gdiplus.h>
usingnamespace Gdiplus;
#pragmacomment( lib, "gdiplus.lib" )
二、在程序实现文件中添加全局变量
ULONG_PTRgdiplusToken;
三、在应用程序初始化时进行GDI+的初始化
BOOL CXXXApp::InitInstance(){ INITCOMMONCONTROLSEX InitCtrls; InitCtrls.dwSize = sizeof(InitCtrls); InitCtrls.dwICC = ICC_WIN95_CLASSES; InitCommonControlsEx(&InitCtrls); CWinApp::InitInstance(); AfxEnableControlContainer(); /********************************************************************************/ GdiplusStartupInput gdiplusStartupInput; GdiplusStartup(&gdiplusToken,&gdiplusStartupInput,NULL);/********************************************************************************///省略其他代码 return FALSE;}
四、重写ExitInstance函数
int CXXXApp::ExitInstance(){ // TODO: 在此添加专用代码和/或调用基类 GdiplusShutdown(gdiplusToken); return CWinApp::ExitInstance();}
五、添加两个按钮为按钮1添加控件变量
CButton m_Button_ctlTest;添加函数OnLoadPng()void CXXXDlg::OnLoadPng(){ Graphics graphics(m_Button_ctlTest.GetWindowDC()->m_hDC); Image image(L"picture//test.png", TRUE); //picture//test.png是png文件的路径 graphics.DrawImage(&image,0,0);}
在按钮2点击事件中调用OnLoadPng()函数。
点击按钮2的时候,就会看到按钮1载入了png图片,也可加载jpg,jpeg等格式的图片
当然,仅仅这些还是不够的。当鼠标移动到按钮1上的时候,图片又不见了。
还需要重载按钮的上的鼠标移动等等函数。
在CodeProject上有一篇文章题目叫做
A user draw button that supports PNG files with transparency, for Visual C++ 6.0 and VS2005
它已经实现了派生按钮载入png图片的功能。
0 0
- VC中使用GDI+实现为按钮加载Png图片
- VC中使用GDI+实现为按钮加载Png图片
- VC中使用GDI+实现为按钮加载Png图片
- GDI+实现png图片加载
- 使用GDI加载PNG实现自定义不规则按钮
- 使用PngButton类实现按钮加载Png图片
- VC中GDI+双缓冲实现Picture控件中显示png图片
- VC中GDI+双缓冲实现Picture控件中显示png图片
- vc资源中加载png图片源码
- MFC使用GdipButton(gdi+)之加载PNG图片DPI问题
- 使用GDI+和CImage类加载png图片
- [vc] vc++加载透明png图片的两种方法-GDI+和CImage
- 使用GDI+显示PNG图片
- vc win32 gdi+ 怎么显示PNG图片
- VC中使用Gdi+合并jpg图片
- VC中使用GDI+显示图片
- 在VC中使用GDI+从自定义资源中加载图片
- GDI+从资源中的加载PNG图片
- MFC实现为窗体添加的背景图片
- redis在windows下的安装
- 初步认识迭代服务器和并发服务器
- 强大的vim配置文件,让编程更随意
- 注意php in_array带来的低性能
- VC中使用GDI+实现为按钮加载Png图片
- return 0 与exit(0)
- java中List的遍历
- 网站架构
- Java读取txt数据Demo
- 套接字通讯实例(TCP)
- Spring MVC 教程,快速入门,深入分析
- 共享存储区通信实例及分析
- sync_binlog