金山对其金山卫士进行了开源,目前已经公开了6个子项目。

不过也许很多人和我一样对安全部分的功能并不感兴趣,毕竟那需要比较艰辛的工作。

但对其所运用的界面库部分可能比较感兴趣,该库是基于目前比较流行的DIRECTUI技术,非常适合于工具软件的开发,例如互联网软件及娱乐软件等。

不过目前该库是作为源代码进行调用的,使用并不方便。所以我准备将其从金山卫士的项目中分离出来,作为独立的库进行调用,并同时撰写其使用文档资料,欢迎有此同好的朋友加入。

原来希望将库做成DLL形式的,后来发现全部是模版实现,没办法导出.

所以暂时先以源码形式调用,以后有机会再看如何处理成DLL的.

要阅读金山代码需要一定的WTL编程经验。

使用方法可以先参考附件当中的样例代码,详细文档资料将陆续编写出来.

该界面库是典型的DirectUI的实现方法,相信TX的也是基本类似,不过TX肯定实现的更加深入一些,

但通过该框架,继续深入开发估计也不会太困难.

目前编写了两个预览界面,如下所示:

描述XML如下:

<layer title="sample1" width="600" height="470" appwin="1"> <header class="mainhead" width="full" height="23"> <icon src="ICON_MAIN" mce_src="ICON_MAIN" pos="5,4"/> <text class="dlgtitle" pos="25,6">样例程序1</text> <imgbtn id="60003" class="linkimage" skin="minbtn" pos="-105,1"/> <imgbtn id="60002" class="linkimage" skin="maxbtn" pos="-73,1"/> <imgbtn id="60001" class="linkimage" skin="closeonlybtn" pos="-43,1"/> </header> <body class="mainbody" width="full" height="full"> <dlg pos="0,0,-0,-0" crbg=F7FBBF> <text class="hellowordstyle" pos="50,200">hello world!</text> </dlg> </body> <footer class="mainfoot" width="full" height="23" crbg=FFB9B9> </footer> </layer>

XML如下:

<layer title="sample1" width="600" height="470" appwin="1"> <header class="mainhead" width="full" height="31"> <icon src="ICON_MAIN" mce_src="ICON_MAIN" pos="5,4"/> <text class="dlgtitle" pos="25,6">样例程序1</text> <imgbtn id="60003" class="linkimage" skin="minbtn" pos="-105,0"/> <imgbtn id="60002" class="linkimage" skin="maxbtn" pos="-79,0"/> <imgbtn id="60001" class="linkimage" skin="closeonlybtn" pos="-53,0"/> </header> <body class="mainbody" width="full" height="full"> <button id="1" class="normalbtn" pos="50,20,110,40">普通按钮</button> <text class="infostyle" pos="120,25,180">信息显示:</text> <text id="2" class="infostyle" pos="200,25">Ready</text> <hr style="dot" mce_style="dot" size=1 pos="50,50,250,50" crbg=888888 /> <check id="3" check=4 pos="50,60">复选框1</check> <check id="4" pos="50,80">复选框2</check> <hr style="dot" mce_style="dot" size=1 pos="50,100,250,100" crbg=888888 /> <radio id="5" check=4 pos="50,120">Radio按钮1</radio> <radio id="6" pos="50,140">Radio按钮2</radio> <radio id="7" pos="50,160">Radio按钮3</radio> <progress id="8" pos="50,200,250,210" min="0" max="100" value="30" showpercent="1" bgskin="progressbg" posskin="progresspos" show="1" /> <button id="9" class="normalbtn" pos="50,220,110,240">增加</button> <button id="10" class="normalbtn" pos="120,220,180,240">减少</button> <img id="11" pos="50,250" skin="loading" sub="0"/> <text class="infostyle" pos="70,250">Loading...</text> </body> <footer class="mainfoot" width="full" height="34" crbg=FFB9B9> </footer> </layer>

两个界面都是比较基础的界面,没有使用典型的TAB布局,更加深入的文章请关注后续文章.

先看各位同学看代码,有哪方面的疑惑,我再针对反馈来写其他的介绍文章.

附件下载:

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

金山卫士界面源码解读及界面库分离(1)相关推荐

  1. 金山卫士界面源码解读及界面库分离(附录) --你问我答

    一.VS2005.VS2008.VS2010如何编译? 因为我的是VS2003,所以编译出来的lib好像和其他版本的会有冲突,所以请使用以上版本的同学自行编译KUILib/kscbase/kscbas ...

  2. 金山卫士界面源码解读及界面库分离 (5)

    其实开始没有想过要写这么多篇文章介绍的,因为看到CSDN的朋友如此碰场,所以对KUI的热情并没有减少,因此不知不觉就写到了第五篇了. 本篇开始介绍比较复杂的界面应用了.界面应用介绍完成后,估计要开始整 ...

  3. 二开精美UI站长论坛网站源码 可切换界面

    简介: 二开精美UI站长论坛网站源码 可切换界面,喜欢就下载吧. 网盘下载地址: http://kekewl.cc/QjCUMBrN0WC0 图片:

  4. 【小程序源码】简洁界面清爽让人非常舒服的一款短视频去印自带接口

    总得来说这是一款以短视频去印为主的一款小程序源码 内含支持多平台的接口 支持短视频和图集去印 小编个人觉得界面让人看起来特别的清爽特别的舒服 没有那么多的花里胡哨的 操作非常的简单 进入主题,大家直接 ...

  5. 网页直播源码,实现界面左右滑动

    网页直播源码,实现界面左右滑动的相关代码 @interface ViewController ()<UIPageViewControllerDataSource, UIPageViewContr ...

  6. Android 11.0 Settings源码分析 - 主界面加载

    Android 11.0 Settings源码分析 - 主界面加载 本篇主要记录AndroidR Settings源码主界面加载流程,方便后续工作调试其流程. Settings代码路径: packag ...

  7. ASP.NET WPF酒店管理系统源码 WPF开发框架源码 C#框架 界面美观

    ASP.NET WPF酒店管理系统源码 WPF开发框架源码 C#框架 界面美观 开发环境 :VS2013 + WPF +C# + ACCESS 采用wpf进行开发的酒店管理系统,界面相当美观,功能齐全 ...

  8. 仿悬赏猫任务平台完整程序源码+新UI界面/可封装APP

    正文: 仿悬赏猫任务平台完整程序源码+新UI界面/可封装APP,服务器搭建环境:Linux+Centos7.0以上+宝塔,如果你是虚拟主机的话,那是无法搭建的,本人亲测的搭建环境:Nginx1.16. ...

  9. 做任务赚钱网站源码,H5全新界面,注册支付测试完美,适合各种做任务赚钱的手机端

    源码介绍 一天一精品,深度测试,高度适用商业用途! 做任务赚钱网站源码,H5全新界面,注册支付测试完美,适合各种做任务赚钱的手机端 简单修改了一下原手机首页界面,新增下载app链接和直接h5访问,喜欢 ...

最新文章

  1. mysql切换系统盘命令_mysql常用命令
  2. 两个对于Apriltag图片处理问题讨论
  3. freebsd下vi的使用
  4. Qt工作笔记-QTreeWidget求总结点数以及此树中最多孩子的个数(非递归)
  5. HTML作业-潮流服装网页
  6. Exchange日常管理之四:简化OWA的登录
  7. java ftp 重命名文件_FTP服务器文件重命名
  8. 【经典箴言 || 人生感悟 】//wodeganwu3034 == 8. 回溯做过的事情,如Review自己曾经写过的代码或者设计,思考为什么会这么做,有没有更好的方法==
  9. Linux学习总结(62)——什么是堡垒机?为什么需要堡垒机?
  10. python怎样批量修改文件大小_使用python对文件夹下的照片进行批量修改尺寸
  11. Android实现播放音乐列表
  12. Chrome的插件安装与使用
  13. linux驱动面试题目汇总
  14. 当你的才华撑不起你的野心的时候,你就应该努力
  15. 《轩辕剑4》最新秘籍
  16. Linux内核设计与实现 第18章 调试
  17. MindSpore【数据集功能】无法查看数据集
  18. 两年工作经验程序员的迷茫
  19. Power PMAC运动控制器 —— 学习笔记7
  20. 男女比例失调,农村“光棍危机”有多严重?

热门文章

  1. 【IEEE 2021大奖出炉】谷歌AI掌门人Jeff Dean获冯诺依曼奖
  2. oracle安装时找不到启动,win7 下安装oracle 11g出现错误: 启动服务出现错误 找不到服务OracleMTSRecoveryService...
  3. Linux 什么是用户和用户组;创建用户、组和组成员资格;创建文件或目录并设置权限
  4. 怎么用python做答题_python实现用户答题功能
  5. 常用数学符号的读法及其含义
  6. 【二次型】——线性代数高清手写笔记——如桃花来
  7. 基于轻量级YOLO模型开发构建大疆无人机检测系统
  8. Unity3D学习笔记(4)—— 牧师和魔鬼游戏
  9. 【CubeMX配置STM32使用360°旋转编码器(KY-040)】
  10. pytorch实现 残差网络 ResNet18 CIFAR-10 分类 计算top1-ACC,top3-ACC