為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窗口創建及布局的流程。 先從 ...