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. IOS 播放音频

    1,播放短音频 #import <AudioToolbox/AudioToolbox.h>#import "GLYViewController.h"static voi ...

  2. Firefox 备份

    参考http://mozilla.com.cn/post/32327/ 火狐的地址栏中输入about:support点击“打开所在文件夹”按钮,会弹出一个资源管理器,并且定位到你当前的Profile文 ...

  3. Google日历添加农历、节日和天气插件(步骤)

    Google日历添加农历.节日和天气插件(步骤) Google功能非常多,Google日历只是其中一个,而且支持Exchange账户(iPhone,WP7,诺基亚等)和Google账户登录(andro ...

  4. 阻止系统自动睡眠的小软件,附C#制作过程

    原文 http://www.cnblogs.com/h46incon/p/SleepPreventer.html 因为有时下载东西的时候,不想让电脑自动深入睡眠,所以就开启了离开模式.这样不但不节能环 ...

  5. HDU 1276 士兵队列训练问题

    模拟题,学了一下list it=li.erase(it):指向删除后的第一个元素 #include <cstdio> #include <list> using namespa ...

  6. ajenti试用感受

    ajenti试用感受_展现技术动态_百度空间 ajenti试用感受   今天看开源中国介绍一款名为"服务器管理系统"的开源软件发布了,名为ajenti,页面感觉不错,对机器的采集信 ...

  7. JNI(2)

    JNI(2) 访问字段和方法 JNI允许本地代码访问java 对象的字段和方法. 调用需要两个步骤: 例如调用cls类的f方法, 1. 获取方法ID jmethodID mid = env->G ...

  8. c 这题做了半天,虽然做好了,但是思路还是不清晰,估计让我再做一次还是比较花时间的。

    输入一个大写字符,如F 比如: 输入:F 输出: FEDCBA EDCBAB DCBABC CBABCD BABCDE ABCDEF 输入 B 输出: BA AB #include<stdio. ...

  9. SQL 注入与防御实例

    注入 1. 创建存储 USE TSQL2012; GO IF OBJECT_ID('Sales.ListCustomersByAddress') IS NOT NULL DROP PROCEDURE ...

  10. java结构与算法之选择排序

    一 .java结构与算法之选择排序(冒择路兮快归堆) 什么事选择排序:从一组无序数据中选择出中小的的值,将该值与无序区的最左边的的值进行交换. 简单的解释:假设有这样一组数据 12,4,23,5,找到 ...