当我打开日期窗口进行编辑时,我使用以下代码更改特定列的颜色:
dw_1.object.description.Background.Color = RGB(255, 255, 255)
只要画家中的默认背景颜色不是“透明”,这个效果很好。 如果它开始透明,则此代码不执行任何操作。
如何让列透明,但将其更改为白色然后再将其更改?
谢谢,
答案 0 :(得分:3)
将background.mode
属性更改为0
以删除透明度并考虑background.color
。
手册在Background.property DataWindow object property
条目中说明:
透明背景
如果Background.Mode是透明的(1),则忽略Background.Color。
答案 1 :(得分:1)
将列背景颜色设置为白色(例如)并将其背景颜色表达式设置为553648127
。
之后,您可以使用Modify
// To white
dw_1.Modify("description.Background.Color='16777215~t16777215'")
// To transparent
dw_1.Modify("description.Background.Color='16777215~t553648127'")
可能需要dw_1.SetRedraw(true)
。
您也可以创建隐藏列(例如desc_bc
),将其名称设置为backcolor的表达式,并更改其值而不是调用Modify。