From: hlamo on
I have a report that contains the .Line method to draw a series of boxes
around controls that can vary in size depending on their data content. I
would like to have each box shape filled with a colour suitable to its
control data, rather than have a back-fill for the control data. Can you
please give me an idea as to how to code it. I have tried the .FillColor
property but without success. Thanks.
From: Duane Hookom on
It would have helped if you had provided your existing code. However, I have
been able to shade a background with code like:

Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)
Dim intMaxHeight As Integer
Dim ctl As Control
Dim lngHilite As Long
lngHilite = 10092543 'pale yellow
'Find highest control in Detail section _
that has a tag property of "Border"
For Each ctl In Me.Section(0).Controls
If ctl.Tag = "Border" Then
If ctl.Height > intMaxHeight Then
intMaxHeight = ctl.Height
End If
End If
Next
'Draw a box around each control in Detail _
that has a tag property of "Border"
For Each ctl In Me.Section(0).Controls
If ctl.Tag = "Border" Then
'replace conditional formatting making the _
background of City=London pale yellow
If ctl.Name = "City" And ctl.Value = "London" Then
Me.Line (ctl.Left, ctl.Top)- _
Step(ctl.Width, intMaxHeight), lngHilite, BF
End If
Me.Line (ctl.Left, ctl.Top)- _
Step(ctl.Width, intMaxHeight), vbBlack, B
End If
Next
End Sub

--
Duane Hookom
Microsoft Access MVP


"hlamo" wrote:

> I have a report that contains the .Line method to draw a series of boxes
> around controls that can vary in size depending on their data content. I
> would like to have each box shape filled with a colour suitable to its
> control data, rather than have a back-fill for the control data. Can you
> please give me an idea as to how to code it. I have tried the .FillColor
> property but without success. Thanks.