为UI在不同地区显示不同的语言是产品国际化的一个重要要求。 在SOUI中实现了一套类似QT的多语言翻译机制:布局XML不需要调整,程序代码也不需要调整,只需要为不同地区的用户提供不同的语言翻译文件即可。 在SOUI中,我们实现了一个使用明文XML的语言翻译模块:translator.dll ...
概述 异步通知是客户端开发中常见的需求,比如在一个网络处理线程中要通知UI线程更新等等。 通常在Windows编程中,为了方便,我们一般会向UI线程的窗口句柄Post Send一个窗口消息从而达到将非UI线程的事件切换到UI线程处理的目的。 在SOUI引入通知中心以前要在SOUI中处理非UI线程事件我也推荐用上面的方法。 使用窗口消息至少有以下两个不足: 需要在线程中持有一个窗口句柄。 发出的消息 ...
2016-07-04 23:27 0 3157 推荐指数:
为UI在不同地区显示不同的语言是产品国际化的一个重要要求。 在SOUI中实现了一套类似QT的多语言翻译机制:布局XML不需要调整,程序代码也不需要调整,只需要为不同地区的用户提供不同的语言翻译文件即可。 在SOUI中,我们实现了一个使用明文XML的语言翻译模块:translator.dll ...
::SetTimer创建的定时器就难以直接分发到SWindow对象了。 在SOUI的控件中使用定时器 为了能够 ...
前言: 无论一个DirectUI系统提供的DUI控件多么丰富,总会有些情况下用户需要在DUI窗口上放置有窗口句柄的子窗口。 为了和无窗口句柄的子窗口相区别,这里将有窗口句柄的子窗口称之为真窗口。 每一个使用SOUI创建的界面都是从SHostWnd派生出来的。SHostWnd本身就是一个 ...
怎么使用,SlidingPaneLayout的使用和前面介绍的Navigation Drawer的使用无二 ...
SOUI-DEMO界面预览 在回答SOUI能做什么之前,先看看SVN中demo工程的界面截图: 使用SOUI实现上面的界面主要的工作全在配置几个XML文件,基本不需要写C++代码。(如何配置XML布局将在后续文章中讲解) 从零开始生成一个使用SOUI的应用程序 以SOUI的demo为例 ...
SOUI 2.5.1.1开始支持线性布局(LinearLayout). 要在SOUI布局中使用线性布局, 需要在布局容器窗口里指定布局类型为vbox | hbox, (vbox为垂直线性布局, hbox为水平线性布局). 在指定布局类型后还可以为容器窗口指定gravity属性, 用来指定子窗口 ...
SOUI2.0之前,在SOUI中使用资源通常是直接使用这个资源的name(一个字符串)来引用。使用字符串的好处在于字符串能够表达这个资源的意义,因此使用字符串也是现代UI引擎常用的方式。 尽管直接使用字符串有意义明确的优点,它同样也有缺点: 1、字符串写错了,编译器不知道。这可能导致一些很难 ...
使用SOUI开发客户端UI程序,通常也推荐使用XML代码来创建窗口,这样创建的窗口使用方便,当窗口大小改变时,内部的子窗口也更容易协同变化。 但是最近不断有网友咨询如何使用代码来创建SOUI子窗口,特此在这里统一解答。 要回答这个问题,首先要了解SOUI窗口创建及布局的流程。 先从 ...