首页 > 其他分享 >在SOUI中将自定义配置信息写到布局文件中

在SOUI中将自定义配置信息写到布局文件中

时间:2023-01-18 16:12:45浏览次数:46  
标签:文件 结点 中将 自定义 SOUI 布局 皮肤

SOUI的布局XML文件保存布局必须的信息。特定场合中,用户可能会需要在布局中指定业务需要处理的属性。

比如启程输入法的皮肤。有的皮肤支持高分屏,有的皮肤不支持。对于这个场景,比较理想的方案是直接在皮肤的布局文件中指定当前皮肤是否支持高分屏。

程序解析到这个自定义属性再决定后续的逻辑。

下面是启程输入法皮肤的相关配置:

<SOUI 
  name="wnd_composition" 
  resizable="0" 
  wndType="normal"
  translucent="1"
  toolwindow="1"
>
  <user autoScale="true"/>
  <!-- .... -->
</SOUI>

注意上面的user结点。

这个结点,SOUI内核不会处理。

在界面初始化完成后,这些自定义的XML结点会通过调用SHostWnd::OnUserXmlNode这个虚函数传递到业务层。

业务层重载这个函数实现对自定义的属性的处理。

标签:文件,结点,中将,自定义,SOUI,布局,皮肤
From: https://www.cnblogs.com/setoutsoft/p/17060064.html

相关文章

  • 在SOUI中使用GetAttribute获取XML中配置的属性
    SOUI的界面布局使用XML来布局,在XML配置的属性值会通过SObject::SetAttribute(name,value)的方式交给SObject处理。SWindow是SOUI的界面元素对象,继承自SObject,同样也是通......
  • antdvue对a-form自定义组件进行校验
    在form表单中引入自定义组件时,并打算对其值进行校验,可是使用rules字段时,发现大多都校验不了表单默认触发change事件,我们需要在自定义组件中触发form提供的onFieldChange事......
  • 【转】WPF 菜单Menu的自定义样式
    菜单Menu的自定义样式:页面代码:<MenuHeight="50"Name="menu1"Width="50"VerticalAlignment="Center"HorizontalAlignment="Center"Foreground="{x:Null}"Backgrou......
  • Azure ARM (27) 自定义Role,只能创建MySQL Flexible Server资源
    《WindowsAzurePlatform系列文章目录》 用户这里有个新的需求,自定义Role,只能创建MySQLFlexibleServer资源和PrivateDNSZone,不能创建资源资源。可以......
  • jQuery(自定义动画/导航动态显示效果)
    视频自定义动画<!DOCTYPEhtml><html><head><metacharset="UTF-8"><title>24_自定义动画</title><styletype="text/css">*{margin:0px;......
  • 自定义react项目脚手架
    呀呀呀呀,快过年啦,开心!而且之前一直想做的2个事,一个从0到1自定义开发ui组件库(从0到1开发一个自己的ui库)已经做好啦,还有一个做个自定义的脚手架,现在也做好啦。2个flag完成,开......
  • vue的自定义过滤器 - Filter
    vue的自定义过滤器-Filter一、过滤器的介绍二、局部过滤器1.定义2.使用2.1基础用法2.2串联用法2.3接收参数三、全局过滤器1.定义2.使用四、总结一、过滤器的介绍V......
  • Kong网关安装自定义插件
    安装自定义插件需要注意kong网关的版本要求!! 下面以安装Skywalking插件为例,要求Kong网关是2.2及以上版本,https://github.com/apache/skywalking-kong一、下载Skywalking......
  • Django自定义认证系统原理及源码分析解读
    疑问Django在​​如何自定义用户登录认证系统的时候​​,大家都会里面立马说自定义一个或者多个backend,比如通过账号+密码、邮箱+密码,邮箱+验证码、手机号+短信验证码等等......
  • 小满nestjs(第二十二章 nestjs 自定义装饰器)
    在Nestjs中我们使用了大量装饰器decorator,所以Nestjs也允许我们去自定义装饰器。 案例1自定义权限装饰器生成装饰器 nestgd[name]import{SetMetadata}from'@......