给freeform数据窗口列穿上彩色外套

发表于:2007-07-02来源:作者:点击数: 标签:
pb中数据窗口列的边框风格只有简单几种,如果想要边框颜色是彩色的就没有办法了。 其实可以利用动态创建rectangle,更改数据窗口列的边框颜色,主要适用free格式(不需要穿外套的列tag值设为0)。 global type gf_setbordercolor from function_objectend ty

    pb中数据窗口列的边框风格只有简单几种,如果想要边框颜色是彩色的就没有办法了。

   其实可以利用动态创建rectangle,更改数据窗口列的边框颜色,主要适用free格式(不需要穿外套的列tag值设为0)。

 global type gf_setbordercolor from function_objectend type

forward prototypesglobal subroutine gf_setbordercolor (datawindow adw, long al_bodercolor)end prototypes

global subroutine gf_setbordercolor (datawindow adw, long al_bodercolor);//rectangle(band=detail x="599" y="260" height="88" width="288"  name=r_1 brush.hatch="7" brush.color="1627389951" pen.style="0" pen.width="5" pen.color="8421376"  background.mode="1" background.color="553648127" )Integer iString ls_syntax

For i = 1 To Integer(adw.Object.DataWindow.Column.Count) If adw.Describe("#"+String(i)+".Visible") = @#1@#  and  adw.Describe(ls_objects[i]+".tag") <> @#0@# Then  ls_syntax += " create rectangle(band="+adw.Describe("#"+String(i)+".Band")+" "  ls_syntax += @# x="@#+ String(Integer(adw.Describe("#"+String(i)+".X")) - 4)+@#"@#  ls_syntax += @# y="@#+  String(Integer(adw.Describe("#"+String(i)+".Y")) - 4)+@#"@#  ls_syntax += @# Height="@#+  String(Integer(adw.Describe("#"+String(i)+".Height")) + 8)+@#"@#  ls_syntax += @# Width="@#+  String(Integer(adw.Describe("#"+String(i)+".Width")) + 8)+@#"@#  ls_syntax += @# name=RBorder_@#+ adw.Describe("#"+String(i)+".Name")  ls_syntax += @# brush.hatch="7" brush.color="1627389951" pen.style="0" pen.width="5" pen.color="@#+String(al_bodercolor)+@#"  background.mode="1" background.color="553648127" )@# End IfNextadw.Modify(ls_syntax)

end subroutine


原文转自:http://www.ltesting.net