private sub SetLinesVisible(byval State as boolean)
dim st as Section
for each st in Sections
dim c as object
for each c in st.controls
if typeof c is DDActiveReports.line then
c.visible = State
end if
next
next
end sub
对于1,我是这样做的:设置一个SUB打印原表单,用另一个SUB处理数据打印
e.g.
sub Export(PrnObj as obj)
if obj is picture then DrawBox
PrnData
if not (obj is picture) then obj.enddoc
end sub
对于2:
Sub OutTextA(pObject As Object, ByVal Xstart As Single, Optional ByVal Xend As Single = -1, Optional ByVal pY As Single = 0, Optional ByVal pFont As String = "宋体", Optional ByVal pFONTSIZE As Single = 9.5, Optional pString, Optional pBold As Boolean = False, Optional pItalic As Boolean = False, Optional pUnderline As Boolean = False, Optional Station As Integer = -1)
Dim X As Single, tw As Single, w As Single
Xstart = Xstart + 0.7
Xend = Xend - 0.5
If Xend = -1 Then Station = -1
pObject.CurrentY = pY
DoEvents
pObject.FontUnderline = pUnderline
pObject.FontItalic = pItalic
pObject.FontBold = pBold
pObject.FontSize = pFONTSIZE
pObject.Font = pFont
pObject.FontSize = pFONTSIZE
tw = pObject.TextWidth(pString)
w = Abs(Xend - Xstart)
Do While tw >= w
pObject.FontSize = pObject.FontSize - 1
pObject.CurrentY = pObject.CurrentY + 0.2
tw = pObject.TextWidth(pString)
Loop
Select Case Station
Case -1
pObject.CurrentX = Xstart
Case 0
pObject.CurrentX = Xstart + (w - tw) / 2
Case 1
pObject.CurrentX = Xend - tw
End Select
pObject.Print pString
End Sub