VC6使用GDI+ 顺带一些感悟
来源:互联网 发布:js将链接生成二维码 编辑:程序博客网 时间:2024/06/05 10:29
今儿在群里看到有人问GDI+的事,说是用的VC6,不知道怎么用GDI+。看见他就好像看见了一年前的自己。
当时的自己也是,不知道怎么用GDI+,总觉得GDI+好像很难,是很高深的技术,所以就一直不敢去碰,也就一直没去找任何相关的资料,一直苦逼的用着GDI。直到有一天遇到一个问题,要显示png图片,GDI做不了了,找了相关资料,说要用GDI+或者开源库。当时自己的水平完全是个初学者,看到“开源库”3个字,立马就吓趴下了,一想开源库那么多代码,看看都要好长时间,还不一定看得懂,还要编译什么的,想想就麻烦。相比之下至少GDI+还是现成的。于是果断放弃开源库,开始查找GDI+的相关资料,查了以后发现,其实也没有想象的那么难,于是乎慢慢开始研究,也慢慢上手了,学到不少东西,也发现GDI+确实方便。
现在想想,幸好当初接触了GDI+,虽然使用过程中碰到不少问题,但是都一一解决了,也正因为碰到了这些问题,自己学到了很多东西,感觉成长起来了。
由于这次的经历,让自己以后碰到什么没见过的东西,都保持着不畏惧的心里,迎难而上,才能更快进步。
想起一句话:克服恐惧最好的办法就是面对它。
下面给出VC6下使用GDI+的方法,简单说就5步:
- 下载GDIPlus库
- 解压并加入工程文件
- 导入lib
- 包含头文件
- 必要的初始化
就这么简单的5步,就可以在VC6下使用GDI+了。
下载GDIPlus库
网上可以下载GDI+库的地方很多,我这里上传了一份,地址在:
http://download.csdn.net/detail/a102111/4931643
解压并加入工程文件
解压下载到的库文件,将文件夹放入工程文件目录下。
导入lib
导入lib有2种方法,一种是代码导入,我比较喜欢这种,因为直接复制黏贴就可以,很方便:
#pragma comment (lib, "gdiplus.lib")
一般加载stdafx.h文件里,方便移到其他工程里。
另外一种是在工程属性中配置,这里就补说了。
包含头文件
这个也很简单,一般在stdafx.h里面加入:
#ifndef ULONG_PTR#define ULONG_PTR unsigned long *#include "GDIInc/GdiPlus.h"using namespace Gdiplus;#endif
必要的初始化
//定义2个变量GdiplusStartupInput m_gdipInput;ULONG_PTR m_pGdiToken;//GDI+初始化GdiplusStartup(&m_pGdiToken, &m_gdipInput, NULL);//使用GDI+...//解除GDI+GdiplusShutdown(m_pGdiToken);
- VC6使用GDI+ 顺带一些感悟
- vc6.0 使用GDI+
- VC6 使用GDI+
- VC6 中使用GDI+
- VC6使用GDI+
- 在VC6中使用GDI+
- VC6中如何使用GDI+
- VC6中如何使用GDI+
- 在VC6中使用GDI+
- 在VC6中使用GDI+
- VC6.0中GDI+使用
- VC6.0 如何使用gdi+
- VC6.0下使用GDI+
- 在VC6.0中使用GDI+
- VC6.0中如何使用GDI+
- VC6.0使用GDI+的配置
- 在VC6.0中使用GDI+
- VC6使用GDI+的配置方法
- 抽象类是否可继承实体类
- ubuntu 查看系统信息
- 局域网内Linux服务器时间同步
- cocos2dx加libevent库
- Linux 操作技巧
- VC6使用GDI+ 顺带一些感悟
- linux下热插拔事件的产生是怎样通知到用户空间,kobject_uevent_env之uevent
- Java NIO使用及原理分析(三)
- 着实无趣
- oracle 分区表管理
- ohci之usb_submit_urb 一
- 有关ActionScript的Array类的splice函数
- Android AsyncTask理解及简单用法
- php倒计时