2

当我打开日期窗口进行编辑时,我使用以下代码更改特定列的颜色:

dw_1.object.description.Background.Color = RGB(255, 255, 255)

只要画家中的默认背景颜色不是“透明”,这就会很好。如果它一开始是透明的,那么这段代码什么也不做。

我怎样才能让列是透明的,但将其更改为白色然后再变回来?

谢谢,

4

2 回答 2

3

background.mode将属性更改为0以删除透明度并考虑background.color在内。

该手册在Background.property DataWindow object property条目中说:

透明背景
如果 Background.Mode 为透明 (1),则忽略 Background.Color。

于 2013-03-15T19:48:58.147 回答
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例如),将其名称设置为背景颜色的表达式,并更改其值而不是调用 Modify。

于 2013-03-15T19:21:46.993 回答