在datawindow行中创建动态矩形

时间:2016-08-22 09:38:25

标签: powerbuilder

我试图创建动态矩形来指示行中某个项目的特定状态。

场景是我有一个powerbuilder应用程序,显示卡车行和它在时间线上的负载。

我目前正在使用dw.create()函数创建矩形。它工作..但我为1辆卡车创建的矩形在所有行上复制。因此,卡车1的装载矩形也被创建(显示)所有其他卡车(我不想要 - 因为每辆卡车都有自己的装载矩形)

如何创建仅对于部分行可见的矩形?

亲切的问候 亚历

1 个答案:

答案 0 :(得分:0)

一种方法是在顶部创建矩形'数据窗口单元格。您可以通过类似于:

的修改语句来完成此操作
    ls_modify  = 'create text(band=foreground alignment="0" text="'+ls_txt+'" '
if not lb_view_only then
    ls_modify += 'border="1" ' //border = 4 (lowered)
    ls_modify += 'resizeable=1 '
    ls_modify += 'moveable=1 '
else
    ls_modify += 'border="1" ' //border = 1 (shadowbox)     
    ls_modify += 'resizeable=0 '
    ls_modify += 'moveable=0 '
end if
ls_modify += 'color="' + string(ll_txt_color)+'" '  
ls_modify += 'x="'+string(ll_xpos1)+'" y="'+string(ll_ypos)+'" height="'+string(ll_uo_hgt)+'" '
ls_modify += 'width="'+string(ll_width)+'" html.valueishtml="0"  name='+ls_name+' visible="1" '
ls_modify += 'font.face="Arial" font.height="-8" font.weight="400" font.family="2" '
ls_modify += 'font.pitch="2" font.charset="0" background.mode="2" background.color="'+string(ll_bk_color)+'" )'
ls_rtn = dw_1.modify(ls_modify)

在这种情况下,您需要逻辑来根据数据窗口中的基础单元格确定X,Y,高度和宽度。您还需要为对象指定一个唯一的名称。