给freeform数据窗口列穿上彩色外套
给freeform数据窗口列穿上彩色外套 pb中数据窗口列的边框风格只有简单几种,如果想要边框颜色是彩色的就没有办法了。
其实可以利用动态创建rectangle,更改数据窗口列的边框颜色,主要适用free格式(不需要穿外套的列tag值设为0)。
global type gf_setbordercolor from function_object
end type
forward prototypes
global 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 i
String 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 If
Next
adw.Modify(ls_syntax)
end subroutine