SOUI界面库电子教程

1星(超过10%的资源)
所需积分/C币:46 2018-07-24 21:14:51 4.72MB PDF
77
收藏 收藏
举报

由启程软件开发的C++界面库,容易学习、效果很棒! 由启程软件开发的C++界面库,容易学习、效果很棒!
目录 1、概述.… 1.1S0UI是什么? 1250UI相对于 DuiEngine的改进,,,,, 13SoUI模块结构……. 1.4模块结构图及框架图 2、SOUI的编译. 21获取SOUI的源代码. 11124458 22编译SoU界面库… 3、开始使用SoUI… 31创建SoU项目(手工创建)… 3.1.1项目环境配置. 3.1.2项目资源准备. 3.1.3开始编码【ToDo:不适用新版SoUI,需更新】… 12 32√创建SoUI项目(通过向导创建) …18 321SoUI向导的安装 18 3.22使用向导创建SoU项目 19 3.3编辑器 SOUI Editor使用教程. 22 33使用 uireslmporter生成 uires. idx及 skin. xm1 23 4、SoUI开发说明 25 4.1xm资源文件定义 番着看音番着音番看垂指 …25 411 init.xn资源文件… …27 4.1.2布局( layout资源文件 32 413布局属性pos2type及 offset 18 4.14在SoUI中使用线性布局 40 4.2系统资源管理.. 41 43应用程序中资源的组织… …46 4.3.1控件默认的系统资源.… .47 4.3.1应用程序自定义资源… 49 44在SOUI中用九宫格拉伸方式显示一个图片资源 52 4.7在SoUI中使用有窗口句柄的子窗口 …56 48SoUI中控件事件的晌应.….162 48.1在 SHostwnd的派生类中重载 62 48.2采用事件订阅的方式响应控件事件 63 49SoUI多语言翻译机制 …64 4.10自定义控件 垂音垂 4.10.1开发自定义控件 67 4.102绘图对象( ISkinob)的展 72 4.10.3控件的扩展 4.11在SOUI中使用定时器 80 4.12在SoUI中消息通讯… 83 4.13使用窗口的 cache属性加速SOUI的渲染 85 4.14在SoUI中实现 PreTranslateMessage…,, 86 4.15提高SoU应用程序渲染性能的三种武器.… 416在SOUI中使用分层窗口 88 4.17在SoUI中的控件注册机制 90 4.18在SoUI中使用代码向窗口中插入子窗口 95 4.19在SOUI中使用LUA脚本开发界面 8 4.20导出SOU对象到LUA脚本 108 4.21在SOUI中做事件分发处理 117 422在SoUI中使用异步通知…120 423在SoUI2.0中像 android一样使用资源 124 4.24两个SoUI新控件--- LIstview和 SComboview(借用 Andorid的设计) 128 4.25在SOUI中控件属性查询方法. …131 426√使用SoUI的 SMCListview控件 4.27在… …146 5、控件说明〔SOUI)… 147 5.1 WIndow类 147 525 wndStyle类 148 5.3 SHostWndAtt类.…… .…149 5.4静态文本控件. ……150 5.5超链接控件 150 5.6按钮/图片按钮控件 151 5.7图片控件… 151 5.8动画图片窗口控件,… …152 59线条控件 152 5.10复选框控件 ·里t 153 5.11图标控件… 153 5.12单选框控件.…........1.1153 513 Toggle控件 154 5.14组控件 154 5.15可输入 CombobOx控件 155 5.16日历控件 155 5.17标签控件 156 5.18富文本编辑框控件. 156 5.19简单edit控件… …157 5.20表头控件 157 5.21热键控件… 158 522列表框控件… …158 523列表控件… 159 524滚动条控件 160 5.25滑块工具条控件 160 5.26分割窗口控件.….. 161 5.27分割窗口控件 。着音音 161 5.28Tab标签页面控件… 5.29Tab控件 162 5.30树控件 163 5.24按钮控件…..1.1111111.163 5.24滚动条控件 164 5.24 sSkingif控件 164 5.24 SKin gradation控件 165 524 SKiniNg List控件,,,… ……165 5.24 SKin Scrollbar控件 5.24 SSkinImg Frame控件 166 5.24 SKin Menu border控件 167 6、常见问题. 168 6.0未解决的问题? 168 61模块 utilities为什么要用DLL编译? 62为什么在sou中加载JPG文件失败?169 7、其它未收录的博客 175 71谈谈SoUI与WTL… 175 72在SOUI中非半透明窗口如何实现圆角窗口?……176 7.3谈谈U神器-SoU 178 7.4一种高效的可变行高列表行定位算法 189 附录、帮助手册排版<格式说明> 1 博客收录情况: END..www 4 1、概述 1150UI是什么? SOUI是什么?S○UI是启程软件开发的一个C++ Direct Ui库。 DirectOr技术一般是指 将所有的界面控件都绘制在一个窗口上,这些控件的逻辑和绘图方式都必须自己进行编写 和封装,而不是使用 Windows控件,所以这些控件都是无句柄的。虽然 Direct u不是 什么新技术,但是要把UI儲好, Direct ui确实是目前为止最有效的解决方案 Director技术需要解决的主要问题如下 窗口的子类化,截获窗口的消息 ◆封装自己的控件,并将自己的控件绘制到该窗口上。 封装窗口的消息,并分发到自己的控件上,让自己的控件根据消息进行响应和绘制。 ◆根据不同的行为发送自定义消息给窗口,以便程序进行调用。 ◆一般窗口上控件的组织使用XML来描述。 通常 Director的界面库都采用XML配置文件+图片+控制脚本(Lua、 Javascript等)的 开发方式,非常类似于Web程序的开发方式,当然这里面控制脚本也可以直接使用C++ 代码来实现。这种开发方式可以大大提高开发效率,将程序员从繁琐的界面工作中解脱岀 来,并且通过美工的设计,可以使界面更美观 SOUI不是一个新项目,它是基于之前开发的 Duiengine界面库,再经过为期近半年的重 构后完成的版本,除了skia渲染模块还有待进一步完善外,其它模块已经基本达到发布标 准。( DuiEngine是一个基于金山 Bowin重构的U库,经过不断更新,已经相对稳定 并且已经在多个有大量用户的客户端产品中使用) 1250UI相对于 DuiEngine的改进 做SOUI有几个核心需求 ◆功能模块化:特别是渲染部分要让用户可以根捃需要选择适合的模块,如GDI, GDI+ SKIA 性能优化简化XML配置; ◆增加代码注释 ◆删除原有项目中为了版本兼容而遗留的垃圾代码; ◆优化项目管理; 同时新版本也增加了一些新的特性: 新增多语言翻译支持 程序资源提供模块攴持多份,以便为从脚本创建U提供更好的支持,完善LUA脚本模 块; 13SoUI模块结构 下图为SOUI模块截图 网解决方案su08(14个项目 日… components 日 resprovider-zip 中- resprovider-zip s render-skla freetype mysiA render-skla 白 script-lua … scriptmodule-u Imgdecoder-WIC 中… render-gdi 由- translator 由-面dem 由 蜜 sQul-5Y5-resource t]Ea utilities ·souⅰ模块是整个项目的核心,除 utilities模块外,其它模块都为soui模块服务。 utilities模块提供一些工具类,主要包含 pugIn,及一个 String类。 ◆soui-sys- resource模块是一个纯资源DLL,提供些内置控件必须的资源。 demo模块是SOUI界面库的功能演示程序。 ◆ translator实现一个从ⅩML文件加载多语言翻译资料的类似QT的语言翻译模块。 render-gdi和 render-skia分别实现两个基于GDI及SKIA的渲染模块,它们可以相互 替换。GDI的优点是体积小,但是对于apha通道攴持能力有限;而skia的优点是速度 快,全面支持 alpha通道,但是程序体积会有所增加,DLL编译后有1M,压缩后有 600K。 ◆ resprovider-zip实现了一个从ZP文件加载程序資源的模块。加上soui中内置的两个 资源加载模块,SOUI可以选择从文件中,从EXE資源中及从ZIP文件包中加载程序资 源。 ◆ script-lua是一个脚本支持模块,目前只实现了几个基本类的导出,要使用更多SOUI 类型,还需要增加导出代码。 1.4模块结构图及框架图 模块结构图 SOU模块结构图 SOU模块 1l-sys omponents Utilities resource 图片解码 渲染模块 Skia GDI+ GDI PNG 语言翻译 Lua脚本 文件资源 WIC 资源管理模 P资源 STB Z|P资源 SOUI框架图: SOU架构图 Swnd Container SltemPanel SListview, smclistview SPanel SScrollview LIstctrl WIndow Button, Static, SImage, etc Widget Application Widget Resource Focus Container Factory Manager Manager Skin Object XML UI Factor Widget Render Script Event Factor Layout Language Dispatcher Translator 2、SOUI的编译 2.1获取SOUI的源代码 SOUI是开源软件,其源码采用svn管理(http://code.taobaoorg/svn/soui2)也可 以通过git客户端获取稳定版本https://github.com/setoutsoft/soui % E\soui. taobao\trunk- Repository Browser- TortoiseSVN 如→URu:口t: code taobao. org/ svn soui2 trunk Revision HEAD Dhttp://code.taobaoorg/swn/souifile Exten Revision Author b branches SOUL 405 setout tt>WKE源代神经詹程嗽群的修改,增加了两个接口374 wwKE是一个精期识ekt,编译后只有11 Trunk 340 setout A. controle ex enc uiresbuilder D de 403 setout D 375 setout BuildAll 86,bat 050us代码 license. txt 49 setout >,tools E make(dl-win 32-v508)bat 345 stouts≡ >D uiresbuilder Ei. make(dIl-win32-vs08-dr),bat outs E>make(dI-wln32-Vs 1O).bat 345 setouts Eea make ( ib-win32-V5 10), bat sou.08 EQu pro 358 setout 国开发者名单 355xMh24 对而使用 gmake牛成T程件ttbt 291 setout tunk Showing 12 files and 11 folders, 23 items in ota HelF E:\souiZ trunk- Repository Brewser-Tort)开发分,不要从这里获取代码可前译不过 中URL:@hu;/ uue,lisa,uru'swnfstui2//. Revision:HEAD lhttp:/code.taobaoswn/soui2 Fytesinn RPvisirr A Ithor atage 稳定版 rak三 se 2. 1 LulLUIH'lLs 1567 seluulsull thro 163c323 b wkE-flash 第三方润,一般棒m边 I uu k sample 1472 setcutsoft b compone:s 1472 setcutsoft 151 xingyi >L controls,extend sCU最新嵌本你福帅新标性都在这里 1611 setcutcoft Crmnn l tools 1027 xingyi >coc utilities 15/3 setcutsoft saples 52 ngi 28Build b=t 1623 xingyi F sou-sYse 回北 CMalellsts txt l63c373 b tir d-Far Common 56 setcutsoft b tili cs 1417 setcutsoft 6 2a make iball-twin32-v508),bat 434 setcutsoft BuLking ks Ad-3cui, 28 n 160 sctcutsoft 网 -libsoft L何使用ae生成v江工义件ttt 1344 setcutsoft 比如何使用qmae戊T稈文件bt,tt 1 setcutsoftagg, com 29 Shuning 12 ies alt 1+ folders, 26 tImn in lual 这里主要包含两个目录: trunk及 third- part. trunk目录保存SOUI项目的全部代码, third-part保存sou系统使用到的不方便放到 trunk的第三方库,目前只有一个WKE(一 个精简的 webkit的源代码。一般情況下只获取 trunk的代码就行。 2.2编译SOUI界面库 SOUI项目采用QT的 gmake管理项目文件, gmake已经从QT中分离出来,不需要你 的机器上安装QT。(项目中也包含了网友提供的 cmake编译脚本) 如果你在使用vs2015,建议直接使用 build.bat来编译S○U库。 首先运行“vs2015开发人员命令提示”,如果提示无法找到路径之类的提示,请用管理 员权限运行,这种情况大部分是在远程桌面编译SOUI库时出现。 使用“cdd"命令,把当前路径,切换至S○UI项目文件夹,运行 build.bat批处理。 c4管理员:Vs2015开发人员命号担示-buid 囂許計叶計計排扦計#孴#甘廿計計扦計許囂計計提計甚計#社# 使用S0U工程配百向导 # 启程软件211.31 艹囂壮提甚提甚叶甚排排县壮囂暑#提提甚卧甚排排摄暑#排提甚甚提甚卧甚排排甚H暑 选拦编译版本1=x86;2=×641:1 2选招开发环境1-268:2=21:3=2612;4=2013;5=2615;6=2905:5 :兽架译模式1全减块;2全模;3内核粗组件肌(不箭使用s本核 A选字符集1- INI CODE;2-HBC11 5.将WR作为内建类型[1是;2=否11 6选cR链接模式1+亲态接m):2=动态锤接ND]:1 凸为耻e1Bae 板本生成调试信息=生成;2=个主成]2 根据自己的需要配置编译选项;

...展开详情
试读 127P SOUI界面库电子教程
立即下载 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
A1200266 可以去官网下载,就是官网的帮助,别浪费分了
2019-06-25
回复
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
上传资源赚钱or赚积分
最新推荐
SOUI界面库电子教程 46积分/C币 立即下载
1/127
SOUI界面库电子教程第1页
SOUI界面库电子教程第2页
SOUI界面库电子教程第3页
SOUI界面库电子教程第4页
SOUI界面库电子教程第5页
SOUI界面库电子教程第6页
SOUI界面库电子教程第7页
SOUI界面库电子教程第8页
SOUI界面库电子教程第9页
SOUI界面库电子教程第10页
SOUI界面库电子教程第11页
SOUI界面库电子教程第12页
SOUI界面库电子教程第13页
SOUI界面库电子教程第14页
SOUI界面库电子教程第15页
SOUI界面库电子教程第16页
SOUI界面库电子教程第17页
SOUI界面库电子教程第18页
SOUI界面库电子教程第19页
SOUI界面库电子教程第20页

试读结束, 可继续阅读

46积分/C币 立即下载