如何更改正在进行的浏览器颜色 4gl?



我想创建一个通用程序,即.i,我可以从a.w调用它,它会根据我的条件改变浏览器的颜色。如何通过 .i 更改浏览器颜色?

我想你想改变浏览线的颜色。但是我不相信您能够为此添加包含内容,因为您必须单独命名字段才能以简单的方式执行此操作。因此,假设您有一个名为 br-cust 的浏览,显示您在其中显示客户编号、名称和信用额度的客户表。

您需要向浏览添加行显示事件,其中您会说

ON ROW-DISPLAY OF BROWSE br-cust DO:
DEFINE VARIABLE iBgColor AS INTEGER NO-UNDO.
ASSIGN iBgColor = IF customer.credit-limit < 2000 THEN 9 ELSE 15
customer.cust-num    :bgcolor in browse br-cust = iBgColor
customer.name        :bgcolor in browse br-cust = iBgColor
customer.credit-limit:bgcolor in browse br-cust = iBgColor.
END.

如果信用额度较低(<2000(,则将浏览背景颜色更改为红色,如果信用额度正常,则将浏览背景颜色更改为白色。如果要更改字体颜色,请改用 :color。

现在,如果你想让它能够根据条件改变颜色,这也是可能的,但需要更多的代码。我会尽快发布解决方案,因为我现在无法访问进度。

但我希望这有所帮助。

如果需要在包含中包含着色逻辑,则可以使用预处理器来实现。像这样创建包含(例如 colorbrs.i(:

ON ROW-DISPLAY OF {&Brs}
DO:
ASSIGN
{&Tbl}.{&Fld1}:FGCOLOR IN BROWSE {&Brs} = 12
{&Tbl}.{&Fld1}:BGCOLOR IN BROWSE {&Brs} = 9.
END.

大括号是预处理器。它们在编译时填充。您可以在 .w 中定义它们,如下所示:

{colorbrs.i &Brs=brsCust &Tbl=Customer &Fld1=Cust-Num}

编译 .w 时,编译器将从 include 语句中获取值,并将它们填充到包含文件的预处理器中。

最新更新