Die Print- und Design-Methoden des OCX-Controls implementieren eine standardisierte Druckschleife, die für den Großteil der einfacheren Anwendungen (Anwendungen, die nur mit einer Tabelle arbeiten) direkt verwendbar ist. Der Druck von mehreren Tabellen erfolgt über eine eigene Druckschleife (siehe Kapitel Drucken relationaler Daten). Die Daten werden bei diesem Ansatz innerhalb der Ereignisse CmndDefineVariables und CmndDefineFields an List & Label übergeben. Auf diese Weise können beliebige Datenquellen individuell angebunden werden. Die Ereignisargumente erlauben den Zugriff auf nützliche Informationen wie die übergebenen Benutzerdaten, den Design-Mode und so weiter. Über die Eigenschaft pbLastRecord wird der Druckschleife mitgeteilt, dass der letzte Datensatz erreicht wurde. Solange dies nicht der Fall ist, wird das jeweilige Ereignis wiederholt aufgerufen, um die Daten abzufragen.
Die Design-Methode stellt den Designer in einem modalen Pop-up Fenster dar, welches Ihr Anwendungsfenster überlagert.
Zusätzliche Optionen lassen sich im Ereignis CmndSetPrintOptions festlegen. Intern wird dieses Ereignis nach dem Aufruf von LlPrintWithBoxStart() aber vor dem eigentlichen Druck ausgelöst.
Eine sehr einfache Verwendung der Methode Print sieht wie folgt aus:
Private Sub ListLabel1_CmndDefineVariables(ByVal nUserData As Long, ByVal bDummy As Long, pnProgressInPerc As Long, pbLastRecord As Long)
Dim i As Integer
For i = 0 To Recordset.Fields.Count - 1
Select Recordset.Fields(i).Type
Case 3, 4, 6, 7: para = LL_NUMERIC: content$ = Recordset.Fields(i)
Case 8: para = LL_DATE_MS: a! = CDate(Recordset.Fields(i)): content$ = a!:
Case 1: para = LL_BOOLEAN: content$ = Recordset.Fields(i)
Case Else: para = LL_TEXT: content$ = Recordset.Fields(i)
End Select
nRet = LL.LlDefineVariableExt(Recordset.Fields(i).Name, content$, para)
Next i
If bDummy = 0 Then
pnProgressInPerc = Form1.Data1.Recordset.PercentPosition
Recordset.MoveNext
End If
End Sub