plus控件改变文本的颜色
By
admin
at 2019-10-21 • 1人收藏 • 2141人看过
更新: 2019-10-22 一鹤jacen改进了plus控件的color属性,
运行时修改color属性如果启用了编辑属性可同步修改内部编辑框字体颜色
可以很方便的修改plus的文本色了.
使用以下代码请升级到aardio最新版本
之前都是用skin() 来设置颜色, 但是这个的颜色只是和鼠标的各种交互用的.
这次突然用到直接修改颜色, 特此记录一下
import win.ui; /*DSG{{*/ var winform = win.form(text="aardio form";right=759;bottom=335) winform.add( button={cls="button";text="第一种方法";left=15;top=217;right=222;bottom=299;z=2}; button2={cls="button";text="第二种方法";left=528;top=210;right=741;bottom=295;z=3}; plus={cls="plus";text="-12.34";left=12;top=47;right=361;bottom=182;border={color=-16777216;width=1};font=LOGFONT(h=-47;weight=700);z=1}; plus2={cls="plus";text="-12.34";left=393;top=47;right=742;bottom=182;border={color=-16777216;width=1};font=LOGFONT(h=-47;weight=700);z=4} ) /*}}*/ //第一种方式: 直接改颜色color,立杆见影 winform.button.oncommand = function(id,event){ var rod = tostring(math.random(111111,999999)); winform.plus.color = tonumber("0xFF"++rod); winform.plus.text = rod } //第二种方式: 直接改颜色argbColor winform.button.oncommand = function(id,event){ var rod = tostring(math.random(111111,999999)); winform.plus.argbColor = tonumber("0xFF"++rod); winform.plus.text = rod //注意此方式,如果没有更新文本信息,那么需要调用下面的刷新功能才会更新颜色 //winform.plus.redrawTransparent(); } //启用编辑模式,并修改文本颜色 winform.button2.oncommand = function(id,event){ //第一步:启动编辑框先 winform.plus2.editable = true; //修改为任意颜色 var rod = tostring(math.random(111111,999999)); winform.plus2.color = tonumber("0x"++rod); winform.plus2.text = rod } winform.show() win.loopMessage();
从上面的图中可以看出, 这两个方式有不同的应用场景:
第一个是模拟的static控件, 可以在属性里直接设置居中模式,
第二个是模拟的editbox输入框, 这个启用输入框功能后, 文字就会跑到输入框的上部, 必须利用plus的上下边距来调整位置,
第二个就是一个输入框, 可以鼠标进行选中操作, 但是第一个是static不能选择
1 个回复 | 最后更新于 2019-12-11
登录后方可回帖
不错,收藏了!
//当文本可编辑启用后,文本垂直对齐将不起作用,需要用到setPadding来控制文本的边距
winform.plus2.editBox.setPadding(35)