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:\code\duilibinvc6\duilib\control\uiwebbrowser.h(76) : error C2061: syntax error : identifier '__RPC__out'
e:\code\duilibinvc6\duilib\control\uiwebbrowser.h(77) : error C2061: syntax error : identifier '__RPC__deref_out_opt'
e:\code\duilibinvc6\duilib\control\uiwebbrowser.h(78) : error C2061: syntax error : identifier '__RPC__in'
e:\code\duilibinvc6\duilib\control\uiwebbrowser.h(102) : error C2061: syntax error : identifier '__RPC__in_opt'
e:\code\duilibinvc6\duilib\control\uiwebbrowser.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

在VC6.0中能不能使用Duilib界面库呢?的更多相关文章

  1. VC6.0中友元函数无法访问类私有成员的解决办法

    举个例子: 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 #inclu ...

  2. [置顶] c++,vc6.0,中友元函数,无法访问私有字段(private)的问题(problem),cannot access private member declared in class 'Date'

    c++,vc6.0,中友元函数,无法访问私有字段(private)的问题(problem),cannot access private member declared in class 'Date' ...

  3. [转贴]从零开始学C++之STL(二):实现一个简单容器模板类Vec(模仿VC6.0 中 vector 的实现、vector 的容量capacity 增长问题)

    首先,vector 在VC 2008 中的实现比较复杂,虽然vector 的声明跟VC6.0 是一致的,如下:  C++ Code  1 2   template < class _Ty, cl ...

  4. VC6.0中添加库文件和头文件

    附加头文件包含 VC6.0中: VC6.0默认include包含路径:Tools>Options>Directories>Include files. 对于特定项目的头文件包含,在“ ...

  5. VC6.0中MFC界面换肤简例

    利用VC中的MFC进行界面设计时,发现界面上的各控件无法简易地进行调整,比如字体大小.颜色.格式等. 为了改变外观,小小地美化一下,今天决定动手一试. 网上提供的库和方法不计其数,我选择了SkinMa ...

  6. VC6.0中重载操作符函数无法访问类的私有成员

    整理日: 2015年03月18日 在 C++ 中,操作符(运算符)可以被重载以改写其实际操作.同时我们可以定义一个函数为类的朋友函数(friend function)以便使得这个函数能够访问类的私有成 ...

  7. duilib界面库学习(仿PC微信界面,有服务器,有数据库,可以网络通信)

    客户端代码:https://github.com/TTGuoying/duilib_ChatClient 服务器代码:https://github.com/TTGuoying/duilib_ChatS ...

  8. VC6.0 中 添加/取消 块注释的Macro代码

    SAMPLE.DSM是微软提供的样例,使用的是vb语言.其中的 CommentOut 函数,是支持块注释的,可是这种/**/的注释方式,有时候用起来不是很方便,因为两个/会因为一个/而终止.对于大块代 ...

  9. 在VC6.0中多线程编程演示样例(带同步信号量)

    直接上代码: #include <windows.h>//必要的头文件,使用Windows API函数 #include <stdio.h> int index = 0; in ...

随机推荐

  1. c# zip file and folder programmatically

    In .net 4.5 Framework, we can zip a file by this way: private static string CompressFile(string sour ...

  2. 1TB到底能存放多少东西?

    网盘大战逐渐升级,360和百度网盘先后推出的1TB网盘存储,而腾讯甚至为其微云网盘打出10TB的招牌来哄抢用户. 这里我们聊聊1TB的网盘究竟能放多少东西? 以下是我在网上找到的一些资料. 一)30年 ...

  3. 调用firebug-lite调试ie6

    作为前端或网页开发者而言,在IE6上做CSS调试在之前简直是一个噩梦.作为前端或网页开发者而言,但这又是无法回避的事情.某日从红茶那边听说了Firebug Lite这个好东西,可以在不装插件的情况下, ...

  4. UV印刷

    UV就是在一张印上你想要的图案上面过上一层油,主要是增加产品亮度,保护产品表面,其硬度高,耐腐蚀摩擦,不易出现划痕等,有些复膜产品现改为上UV,能达到环保要求,但UV产品不易粘接,有些只能通过局部UV ...

  5. WEB和APP谁是互联网未来

    据中国多家权威报告显示,作为多年专业化互联网公司炎帝网络科技综合评估预测,预计2016年全球互联网设备将达到100亿部.如果届时全球人口达到73亿,意味着平均每人将有1.4部设备.智能交通将增长50倍 ...

  6. JavaEE Tutorials (8) - Java持久化API介绍

    8.1实体96 8.1.1实体类的需求97 8.1.2实体类中的持久化字段和属性97 8.1.3实体的主键101 8.1.4实体关系中的多重性103 8.1.5实体关系中的方向103 8.1.6实体中 ...

  7. BZOJ 1058 报表统计 (STL)

    题解:数据结构的基本操作,用STL可以完美实现,就是比较慢…… #include <cstdio> #include <map> #include <set> #i ...

  8. linux下笔记本有线网卡"未受管理"

    前段时间因为在弄一个笔记双网卡共享上网的事情把笔记本的有线网卡弄环了,连接的时候一直出现如下情况: 1)有线网卡:未受管理 2)无线网卡:每次登录的时候必须把原来登录过的信息删除掉,然后重新输入密码, ...

  9. java项目组会议纪要

    上周五项目经理开例会让我记录会议纪要,以下是我记录的纪要.给大家分享一下! 一.时间:2014年04月25日 二.地点:研发部 三.人物:xx,xx,xx 四.内容(相关项目的一些事项): 1.对待需 ...

  10. OS之多线程

    os中引入进程的目的是,为了描述和实现多个程序的并发执行,以改善资源利用率及提高系统的吞吐量. 为什么要引入线程?这是为了减少程序并发执行时系统所付出的额外开销(堆栈切换的开销等),使os具有更好的并 ...