推荐一个界面库:RingSDK

    这是我自己写的界面库,编程一直用他,包含了界面库和图象库。这个库并不是有意为之,而是我多年编程过程中积累下来的。最初只是把一些经常要用到的功能封装成一些函数,建了一个静态库,方便自己编程,后来慢慢积累,函数越来越多,于是封装成类,再后来简单的封装也不行了,于是花了一段时间进行整理设计,基本上是重写了这个类库,于是就有了这个界面和图象库,是对过去自己编程写的代码的一个总结与整理,方便自己的编程,现在共享出来,与大家一起交流学习吧。这个库是完全从WIN API底层进行封装,界面库目前并没有全部封装完成,主要是一些控件的并不常用的功能并没有加进来,还有很多工作要做。界面库的最大特点是方便易用,实现了一些特殊功能的控件,比如类似VB的属性设置控件,XP样式的菜单等。所有子窗口和控件都可以实现停靠,可以方便实现类似VC的界面。图象库则实现了图象的解码,显示及一些简单的图象处理,与界面库结合,可以实现一些比较酷的界面。因此,界面库里并没有对DC和BITMAP进行封装,一些简单的图形绘制操作代码并不复杂,而要想实现动画等一些复杂效果,就可以使用图象库。

    自己一个人写的类库,要发布最大的一个问题就是帮助文件,自己使用不需要这个,给别人用就需要了,正在写,先写了一个简单的使用说明,其他的就看演示程序的代码吧。

    下面是一些演示程序的截图:

异型窗口

 

菜单演示程序

 

属性栏控件演示

 

工具栏演示,可方便加入静态文本和其他控件

 

模仿VC6界面

 

模仿ACDSee的图片浏览器

 

水波效果,即时运算的。

 

下载:

Ringsdk.zip(包含演示程序源代码及使用说明)

 

只能访问CSDN的可以到这里下载:

http://download.csdn.net/source/619588

 

用SVN的可以到以下地址下载,可以及时更新获取到最新版本:

svn://svnhost.cn/RingSDK

 

  • 8
    点赞
  • 170
    收藏
    觉得还不错? 一键收藏
  • 139
    评论
RINGSDK包含界面和图象。 本项目为编译环境为VC6,需要先安装platform sdk.不断修改中,会陆续上传其他相关文档及DEMO 设置: VC6菜单tools->Options,选择Directoris页,把include,lib目录加入到相应文件列表,如果要调试,需要把libsrc目录下的各个子目录加入到Source files文件列表中。 工程依赖几个第三方,需要先编译livsrc\free_lib下几个目录的工程,然后打开ringsdk.dsw编译。工程都已经设置好了,编译即可。 由于VC的智能提示不能识别界面里的宏,因此建议安装VA(Visual.Assist) 创建基于RingSDK的工程: 新建一个Win32 Application的工程,不要让VC写任何代码,空的工程。然后选择菜单Project->settings..., 选择C/C++页,Category选择Code Generation,然后在Use run-time library选择: DEBUG选择Debug Multithreaded RELEASE选择MultiThreaded 工程设置完毕,然后可以加入CPP和H文件了。 类使用: 1、头文件: 头文件包含"ringmain.h"就可以,如果要使用图象,还需要包含"ringdib.h" 2、窗口类声明: 窗口定义为如下格式: BEGIN_SETUPWINDOW(窗口名,窗口类型) BINNDID(对话框ID) //当窗口类型是对话框才需要写这个宏,且是可选的,即不写也可以 BEGIN_DEF_VAR(初始化标记) //这里定义类成员数据 END_DEF_VAR //这里定义类成员函数 //定义窗口消息处理函数 BEGIN_DEFMSG DEFMSG(消息代码) DEFMSGEX(自定义消息处理函数名) ... DEFCMD(命令处理函数名) ... DEFNOTIFY(通知消息代码) END_DEFMSG(窗口名) END_SETUPWINDOW(窗口名) 这里对上面代码中的中文进行说明: 窗口名:窗口名同时也是该窗口类的对象名,比如窗口名为MainWindow,则该窗口类名为RingWnd_MainWindow, 同时声明了RingWnd_MainWindow* MainWindow=NULL; 以后只要调用MainWindow = NewRingObj(MainWindow);然后MainWindow就可以使用了。 以上代码相当于: class RingWnd_MainWindow { ... } RingWnd_MainWindow* MainWindow=NULL; 类名可以用RINGCLASS(窗口名)宏来得到 窗口类型:为IS_WINDOW,IS_MDIFRAME,IS_MDICHILD,IS_DIALOG,IS_PROPPAGE,IS_PROPSHEET这几个值之一,一看名称就知道,不需要多讲了。 其实这个只是声明了窗口类是从哪个类继承。 初始化标记:为NEED_INIT和NO_INIT两个值之一,指定了是否需要成员数据的初始化,一般成员数据的初始化可以在WM_CREATE消息里完成, 如果需要事先初始化,可以指定NEED_INIT,但是需要在CPP文件实现一个INITWINDOW(窗口名)的函数,进行初始化。 这个BEGIN_DEF_VAR(初始化标记)和END_DEF_VAR是可选的,即可以不写这两个宏,一样可以声明成员数据或函数。 消息代码:窗口消息代码,例:WM_CREATE 自定义消息处理函数名:响应自定义消息的处理函数,这个可以随便取名,例:OnCustomMessage 命令处理函数名:响应菜单命令或控件命令的处理函数,这个可以随便取名,例:OnOpenFile,OnButton1Click 通知消息代码:控件的通知消息代码,例:LVN_SELECTCHANGE 对话框ID:当窗口类型是对话框才需要写这个宏,且是可选的,即不写也可以。写了这句,对话框创建时可以不写参数,例: BEGIN_SETUPWINDOW(DlgAbout,IS_DIALOG) BINDID(IDD_ABOUT) ...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 139
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值