注意:这是关于 chat 的问题
如何更改按下按钮时的样式?
l: layout [
style bteal button teal
style bred button red
b1: bteal "Ok" [b1/style: 'bred]
]
view l
想要在按钮
上进行这样的更改点击:
答案可能与 vid 是一种方言有关。
另外,style
词如何评估其内容
附录
可能不是。
之前:
>> ? b1/style
B1/STYLE is a word of value: bteal
之后:
>> ? b1/style
B1/STYLE is a word of value: bred
所以,所设置的是正确的。也许需要触发一个事件?
最佳答案
style
仅在 layout
函数中有意义,layout
函数将其用作生成具有预定义面(颜色、尺寸等)
所以,改变面孔的风格并不会改变任何东西。您需要直接更改facet(面的属性)。
lay: layout [
style by box yellow
b: by "Test" [b/color: random white show b]
]
view lay
但是如果您在按钮
上执行相同的操作,您可能会感到困惑,因为它的颜色不会改变:
lay: layout [
b: button yellow "Test" [b/color: random white show b]
]
view lay
这是因为按钮在effects
方面有一些效果,并且颜色是在布局函数内生成face时定义的。
>> ? 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]
]
如果您清除
该 block ,那么您可以看到更改,或者您应该相应地更改该 block 。
编辑:
这是您的示例的工作版本:
l: layout [
style bteal button teal effect []
style bred button red effect []
b1: bteal "Ok" [b1/color: red]
]
view l
关于rebol - 如何设置按钮操作的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41415448/