RenderArea

RenderArea是一个容器,可以用来容纳任何对象,包括RenderArea。
RenderArea也有Stacking属性,可以用来指定其子对象的排列方式。
如果一些对象需要用默认的方式排列,而另一些对象需要用一种特殊的方式排列,RenderArea就可以派上用场了。

下面的代码,前3个文本对象(RenderText)按正常的排列方式(从上到下)加入到报表中,后四个被加入到一个RenderArea中,排列方式为从左到右:

Dim doc As New PrintDoc() '定义一个报表
Dim
ra As New prt.RenderArea '定义一个容器
Dim
rt As prt.RenderText '定义一个文本对象
For
i AS integer = 1 To 3
   
rt = New prt.RenderText() '创建文本对象
   
rt.Text = "Hello Foxtable " & i '设置文本对象的内容
   
rt.Width = 35 '宽度为35毫米
   
rt.Height = 15 '高度为15毫米
   
rt.Style.Spacing.All = 2 '设置各个方向的间隔
   
rt.Style.Borders.All = New prt.Linedef(1, Color.Red) '设置边框
   
rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center
'水平居中
   
rt.Style.TextAlignVert = prt.AlignVertEnum.Center '垂直居中
    doc.Body.Children.Add(rt)
'
将文本对象加入到报表
Next

ra
.Stacking = prt.StackingRulesEnum.InlineLeftToRight '设置容器中对象的排列方式
For
i AS integer = 4 To 7
   
rt = New prt.RenderText()
'
创建文本对象
    rt.Text = "Hello Foxtable " & i
'
设置文本对象的内容
    rt.Width = 35
'
宽度为35毫米
    rt.Height = 15
'
度为15毫米
    rt.Style.Spacing.All = 2
'
设置各个方向的间隔
    rt.Style.Borders.All = New prt.Linedef(1, Color.Red)
'
设置边框
    rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center
'
水平居中
    rt.Style.TextAlignVert = prt.AlignVertEnum.Center
'
垂直居中
    ra.Children.Add(rt)
'
将文本对象加入到容器ra
Next

doc
.Body.Children.Add(ra) '将容器ra加入到报表
doc
.Preview() '预览

执行结果:


本页地址:http://www.foxtable.com/webhelp/topics/1185.htm