Aardio设置文本编辑框控件edit的字体颜色,有两种方法:
1.在设计界面直接在属性面板里选择颜色
2.用代码在运行期间设置edit的字体颜色的具体数值,代码如下
import win.ui;
/*DSG{{*/
var winform = win.form(text="aardio基本控件编程演示范例";right=297;bottom=297)
winform.add(
button={cls="button";text="设置颜色";left=52;top=242;right=145;bottom=276;z=2};
button2={cls="button";text="获取颜色";left=152;top=242;right=245;bottom=276;z=3};
edit={cls="edit";text="edit";left=15;top=16;right=283;bottom=228;autohscroll=false;edge=1;multiline=1;vscroll=1;z=1}
)
/*}}*/
winform.button.oncommand = function(id,event){
winform.edit.color = 32768;//修改字体颜色数值
winform.edit.redraw();//刷新
}
winform.button2.oncommand = function(id,event){
winform.msgbox( winform.edit.color,"字体颜色数值为:" );//获取字体颜色数值
}
winform.show()
win.loopMessage();
把代码复制粘贴到aardio中按F5运行,发现文本框里的字体颜色没变,为什么呢?
技巧:如果不知道这些颜色对应什么数值,可以先在设计界面里选择颜色,然后切换到代码视图,在edit的定义里查找“color=xxxxxx”,就是此颜色的数值了。
思考:怎么优化代码,让它可以设置文本颜色?
解决办法:在设计界面时就给文本框字体颜色设置一个非黑色的初始值,如Hex={01;01;01},对应数值为color=131586。
edit={cls="edit";text="edit";left=15;top=16;right=283;bottom=228;autohscroll=false;color=131586;edge=1;multiline=1;vscroll=1;z=1}