• 忘掉天地
  • 仿佛也想不起自己
bingliaolongBingliaolong  2022-03-17 12:18 Aet 隐藏边栏 |   抢沙发  21 
文章评分 3 次,平均分 5.0

关于窗口实现

代码

  1. Github

资源文件

  1. 工程目录下建立uires目录,里面存放一些工程用到的资源文件,包括图片以及一些XML文件。
  2. 同时uires目录下应该还有个uires.xml文件,里面定义程序中用到的其他资源的类型和名称。

入口函数

主窗口

  1. 非模态窗口从SHostWnd派生,模态窗口从SHostDialog派生。

资源

UIDEF资源

  1. xml_init用来定义全局使用的UI。
  2. 对应的xml文件是入口函数中被SApplication对象使用。

  1. 其中,init.xml文件内容如下:
  2. xml_init必须是以UIDEF为唯一根节点。
    1. UIDEF下可以有5个子节点:
    2. font
    3. string
    4. skins
    5. style
    6. objattr

font

  1. 字体(只有face,size属性)

string

  1. 一个字符串表,定义一个"name-字符串"映射,在布局的XML文件中可以通过引用字符串的name来获得字符串

skins

  1. SOUI系统默认实现了如下几种绘图类型:
    1. SSkinImgList(imglist)
    2. SSkinImgFrame(imgframe)
    3. SSkinButton(button)
    4. SSkinGradation(gradation)
    5. SSkinScrollbar(scrollbar)
    6. SSkinMenuBorder(border)

imglist

imgframe

button

gradation

scrollbar

border

style

  1. 定义UI布局中SOUI窗口对象的属性集合,它们是SWindow对象的属性,所有SWindow对象都可以通过class属性来引用style节点中定义的属性集合

objattr

  1. 可以为每一类UI控件通过objattr来提供一种默认属性集合,以减少在XML布局中的重复定义

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

bingliaolong
Bingliaolong 关注:0    粉丝:0 最后编辑于:2022-03-19
Everything will be better.

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享