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

时间:2017-07-15 07:34:10

标签: openedge progress-4gl

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

更改浏览器颜色

2 个答案:

答案 0 :(得分:1)

我想你想要改变浏览线颜色。但是我不相信你能够为此做出包含,因为你必须单独命名这些字段才能轻松完成。因此,假设您有一个名为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。

现在,如果你想给它任何给定的浏览能力,根据条件改变颜色,这也是可能的,但需要更多的代码。我会尽快发布解决方案,因为我现在无法访问Progress。

但我希望这有帮助。

答案 1 :(得分:1)

如果需要在包含中使用着色逻辑,则可以使用预处理器执行此操作。像这样创建include(例如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语句中获取值并将它们填充到include文件中的预处理器中。