Часто задаваемые вопросы о TBarCode OCX
Штрихкоды в Crystal Reports 8
Штрихкоды в Crystal Reports 8
Добавить TBarCode напрямую в отчёт нельзя, но можно создать изображение штрихкода «на лету» и загрузить его в Picture Box. Следуйте инструкциям ниже, чтобы увидеть, как работает встраивание TBarCode в Crystal Reports 8.
Встраивание через Picture Box (пример VB6)
На форме (с именем «Form1») разместите элемент управления TBarCode (с именем «tbc») и Picture Box (с именем «TmpPicture1»). Затем добавьте на форму код функции ниже. Он создаёт изображение штрихкода «на лету» и использует PictureBox как поверхность для рисования.
Public Function BarcodeGenerate(Id As String, Width As Long, Height As Long) As PictureBox
Dim nSizing, cm
tbc.Text = Id
cm = tbc.CountModules
TmpPicture1.Cls
TmpPicture1.ScaleMode = vbPixels
Form1.ScaleMode = vbPixels
Width = ScaleX(Width, vbTwips, vbPixels)
Height = ScaleY(Height, vbTwips, vbPixels)
nSizing = Int(Width / cm)
If nSizing < 1 Then nSizing = 1
TmpPicture1.Width = cm * nSizing
TmpPicture1.Height = Height
DoEvents
tbc.BCDraw TmpPicture1.hDC, 0, 0, TmpPicture1.Width, TmpPicture1.Height
Set BarcodeGenerate = TmpPicture1
End Function
В коде события отчёта (событие Format) вызовите функцию генерации штрихкода и присвойте вновь созданное изображение штрихкода объекту Picture Box (с именем Picture1) в отчёте.
Private Sub Section3_Format(ByVal pFormattingInfo As Object)
'create the barcode for each record set
Dim data As String
data = Field1.Value
Set Me.Picture1.FormattedPicture =
Form1.BarcodeGenerate(data, Me.Picture1.Width, Me.Picture1.Height).Image
End Sub
Встраивание через файл растрового изображения (пример VB6)
На форме (с именем «Form1») разместите элемент управления TBarCode (с именем «TBarCode») и настройте тип штрихкода и все остальные параметры по своему усмотрению. Этот объект штрихкода будет использоваться во время работы отчёта для создания штрихкода «на лету».
В коде события отчёта (событие Format) создайте динамическое изображение штрихкода во временной папке и загрузите это изображение в объект Picture Box (с именем pictBarCode) в отчёте.
Private Sub Section3_Format(ByVal pFormattingInfo As Object)
' Simulate data binding
' by saving the barcode as bitmap with data from fldArticleID
' then reload it to a picture control
On Error Resume Next
Dim nWidth
Dim path
Dim fso
' here we use hard coded temp path (must exist!)
path = "c:\temp\CR8_" & Me.fldArticleID.Value & ".bmp"
' reference the TBarCode Control in the Form1
Form1.TBarCode.Text = Me.fldArticleID.Value
Form1.TBarCode.PrintDataText = False
nWidth = Form1.TBarCode.CountModules * 3 'adapt width to number of graphical modules
Form1.TBarCode.SaveImage path, eIMBmp, nWidth, 100, 96, 96
Me.pictBarcode.SetOleLocation (path)
End Sub
Если вы не хотите добавлять элемент управления штрихкодом на форму, можно также создать экземпляр TBarCode в памяти и применить настройки программно.