Datareport文本框更改事件

时间:2014-04-02 06:04:48

标签: vb6

我们正在使用VB6 DataReport进行一些报告。我已将某些RptTextBox控件的CanGrow属性设置为True,并且我在RptTextBox控件之间使用了RptLine控件。

我的问题是RptLine控件没有CanGrow属性,所以它不会与RptTextBox控件一起增长。如果在RptTextBox发生更改时有任何事件触发,我可以使用它来获取RptTextBox Height属性,并将其分配给RptLine。

我可以使用任何活动吗?或者还有其他方法可以使RptLine控件与RptTextBox具有相同的高度吗?

编辑:

1)RptTextBox height = RptShape height

enter image description here

enter image description here

2)RptTextBox高度< RptShape高度

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

不幸的是,没有可用于使控件的每个实例彼此不同的事件。所以你能做到这一点的唯一方法就是利用控件的工作方式。

解决方法是为您要使用的控件创建一个重复的RptTextBox控件。我们只对控件的右手边(或左手边)感兴趣。

确保设置了重复控件的以下属性:

  • BackColor:& H00FFFFFF& (这应该与背景相同)
  • BackStyle:1 - rptBkOpaque
  • BorderColor:& H00000000& (或任何你想要使用的颜色)
  • BorderStyle:1 - rptBSSolid
  • CanGrow:True
  • DataField:<与您复制的控件相同>
  • ForeColor:& H00FFFFFF& (这应该与背景相同)

创建RptShape控件,并设置以下属性:

  • BackColor:& H00FFFFFF& (这应该与背景相同)
  • BackStyle:1 - rptBkOpaque
  • BorderStyle:0 - rptBSTransparent
  • 高度:<尽可能大>
  • 左:<与重复控件相同>
  • 宽度:<与您复制的对象相同>

右键单击Shape,然后选择“Bring to Front”

基本上,重复控件将调整为与原始字段相同的大小,因此其高度始终相同。 RptShape出现在此控件上方,前景色和背景色为白色,因此它用于消除RptTextBox控件的左,上,下边框。如果您想在文本的左侧放置一条线,则必须将形状向右移动,直到看到左侧。

Design View

Runtime View