注意:这是关于chat
的问题如何在按下时更改按钮的样式?
l: layout [
style bteal button teal
style bred button red
b1: bteal "Ok" [b1/style: 'bred]
]
view l
想要在button
点击:
答案可能与vid是一种方言有关。
此外,style
字如何评估其内容
可能不是。
在:
>> ? b1/style
B1/STYLE is a word of value: bteal
后:
>> ? b1/style
B1/STYLE is a word of value: bred
所以,正在设置的是正确的。也许需要触发一个事件?
答案 0 :(得分:4)
style
仅在layout
函数中有意义,layout
函数将其用作生成具有预定义构面(颜色,大小等)的新面孔的快捷方式。
因此,改变面部的风格并没有改变任何东西。您需要直接更改构面(面部属性)。
lay: layout [
style by box yellow
b: by "Test" [b/color: random white show b]
]
view lay
但是如果你在button
上做同样的事情,你可能会感到困惑,因为它的颜色不会改变:
lay: layout [
b: button yellow "Test" [b/color: random white show b]
]
view lay
这是因为按钮在effects
facet中有一些效果,并且在布局功能中生成面部时颜色是在那里定义的。
>> ? b/effects
B/EFFECTS is a block of value: [
[gradient 0x1 255.255.32 223.223.0]
[gradient 0x-1 255.255.32 223.223.0]
]
如果您阻止了clear
,那么您可以看到更改,或者您应该相应地更改该块。
编辑:
以下是您的示例的工作版本:
l: layout [
style bteal button teal effect []
style bred button red effect []
b1: bteal "Ok" [b1/color: red]
]
view l