在VC6.0中能不能使用Duilib界面库呢?

Duilib库的源代码是在vs2010下编译的,一般适用于vs2008及以上的版本开发使用,那么duilib能不能在vc6.0的工程中使用呢?如何在vc6.0中使用duilib库呢?
今天,由于工作要求,需要在vc6.0下使用duilib库,百度了很久,未果,所以自己来尝试了一下!
 
1、在vc6.0中,新建一个MFC对话框工程,我用的是mfc对话框,习惯这么用。
2、将Duilib头文件及lib引用库拷贝到工程目录,引用进去。
3、新建duidlg类,这个类是自己定义的,对应这duilib里的窗口类。
 
编译!
发现会有一些bug!
 
主要错误是对“gdiplus.h”的错误,即未找到头文件 :gdiplus.h 。

gdiplus.h : No such file or directory

 
这是因为在vs2008版本以上,自动集成了windows sdk,里面包含了gdi相关的头文件,在vs2003及vc6.0等低版本中,要使用的话,就得自己下sdk安装使用了。
所以,到网上下了 GDiplus 的开发sdk文件。添加到工程,编译使用。
 
提示错误:
e:codeduilibinvc6duilibcontroluiwebbrowser.h(76) : error C2061: syntax error : identifier '__RPC__out'
e:codeduilibinvc6duilibcontroluiwebbrowser.h(77) : error C2061: syntax error : identifier '__RPC__deref_out_opt'
e:codeduilibinvc6duilibcontroluiwebbrowser.h(78) : error C2061: syntax error : identifier '__RPC__in'
e:codeduilibinvc6duilibcontroluiwebbrowser.h(102) : error C2061: syntax error : identifier '__RPC__in_opt'
e:codeduilibinvc6duilibcontroluiwebbrowser.h(103) : error C2061: syntax error : identifier '__RPC__in_opt'
 
查看了下,这是在"uilib.h"头文件中,引用了 #include "Control/UIWebBrowser.h" 浏览器控件支持的头文件造成的,直接注释掉这行,因为我的代码中没用到。
如果你要使用,自己添加自定义就行了。
 
再编译,ok!可以了!
 
这里,贴上我的工程,只是对duilib的使用,一个简单的在VC6.0下,MFC使用duilib的例子而已。
 
demo截图:

vc6.0的界面很熟悉吧!

源码下载:
GDI开发sdk下载:GDiplus.zip

http://files.cnblogs.com/files/findumars/GDiplus.zip

http://www.vcmfc.com/portal.php?mod=view&aid=21

原文地址:https://www.cnblogs.com/findumars/p/5164238.html