HTMLayout列表控件动态添加列表项,预览本机字体。

本文介绍了一种使用Aardio编程语言结合HTMLayout实现动态字体列表的方法。通过枚举本机支持GB2312编码的TrueType字体,并将其展示在一个自定义的列表框中,每个选项都包含了字体名称及示例文本,以便于直观地对比不同字体的效果。
import win.ui;
import win.font;
/*DSG{{*/
var winform = win.form(text="HTMLayout列表框 - aardio编程学习";right=599;bottom=399;maxmize=1;parent=...)
winform.add()
/*}}*/

import web.layout;
wbLayout = web.layout( winform )

wbLayout.html = /**
<html>
    <body>
        <widget type="select" id="fontlist">
        
        </widget>
    </body>
</html>
**/

wbLayout.css = /**
widget#fontlist {
    width:100%%;
    height:100%%;
}
widget#fontlist option{
    height:30px;
    font-size:25px;
    margin:2px 0px;
    border:1px dotted green;
}
**/

//枚举本机包含GB2312的字体
win.font.enum( 
    function(logfont,fullname,ftype,style,script,lpntme){
        if( ftype == 0x4/*_TRUETYPE_FONTTYPE*/ && fullname[1] != '@'#/*翻转90度字体*/ ){
        
            //创建一个option元素
            var ele = wbLayout.createEle("option","字体名称:"++fullname++"  学习aardio编程语言!123456789  www.aardio.com");
            //将创建的元素ele追加到id="fontlist"的widget元素中
            wbLayout.getEle("fontlist").append(ele);
            //设置新建的option元素的字体
            ele.style["font-family"]='\"'+fullname+'\"';
            
        }
    },{ charset = 0x86/*_GB2312_CHARSET*/; name = "" }
)

winform.show() 
win.loopMessage();

 

<widget>标签支持 height:100%%; 这种两个百分号的写法,<select>标签不支持。

动态设置元素字体的时候字体名字要用两个'\"'双引号把字体名字括起来,不然不会生效。如下

ele.style["font-family"]='\"'+fullname+'\"';

使用Htmlayout做界面是很不错的选择!! ^_^

转载于:https://www.cnblogs.com/daheian/p/5560001.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值