Bokai Barcode/ActiveX v3.0 Documentation

Bokai Corporation

CONTENTS:

Legal Information
Overview
Product Installation
Tutorial
Examples
Methods
Properties
Supported Barcodes
 

Legal Information

GRANT OF LICENSE

All users are allowed to use the trial-licensed Barcode/ActiveX for a period of up to 28 days. After that, if you want to continue to use it, you must purchase a license. Each licensed copy can only be installed on a single computer for development purposes, although the runtime may be redistributed on a royalty-free basis with your applications subject to the below restrictions.

REDISTRIBUTION

Bokai Corporation grants the licensee of Barcode/ActiveX a royalty-free license to redistribute the EZBARX32.OCX file and any supporting DLL files with any applications developed using it, with the following restrictions:

If you license the Barcode/ActiveX source code, you are allowed to integrate all or portion of it, with or without modifications, into your applications, subject to the same restrictions as above.

LIMITED WARRANTY

Bokai Corporation makes no warranties, express or implied, and specifically disclaims any implied warranties of merchantability or fitness for any particular purpose. In no event shall Bokai Corporation be liable for any special, incidental or consequential damages even if Bokai Corporation has been advised of the possibility of the same.

Overview

Barcode/ActiveX is a Windows ActiveX control for printing barcodes. It can be used by developers in host programming environments supporting ActiveX controls, like Visual Basic and MS-Access on Windows 95/98/Me and Windows NT 3.5/4.0/2000/XP or higher. It can also be used by end-users in document-editing applications like Microsoft Office (Word, Excel) and Windows WordPad. It is royalty-free for programmers for redistribution (subject to restrictions described in Legal Information).

Barcode/ActiveX supports 25 barcode types. It can print quality barcodes on both low- and high-resolution printers. It supports metafile copying. It exposes presentation properties including rotation, text position, font, etc. The barcode parameters, bar/space widths, margins, etc., are fine-tunable. It also allows to retrieve the specifications (bar positions and widths) of the bars of any given barcode, when you have such a need. Extremely easy to use, it needs only one line of code to draw a barcode in Visual Basic; one line of code to print a barcode linked to each detail line of an MS-Access report.

In addition to new features introduced in version 2.1: Code 39 w/ Check Digit, full support for EAN-128 and Code-128 special characters (which can be used, for example, to switch from Code-128A to Code-128B in the middle of the barcode data), and use of MFC42.DLL (instead of the previous MFC40.DLL), version 3.0 has introduced methods allowing you to generate a barcode image in memory, save it to a file and copy it to the Clipboard; it also provides properties that return a barcode image as a Picture (IPicture). Supported image formats are: Enhanced Metafile, Windows Metafile, Bimtap, JPEG and PNG.

Installation and System Requirements

All Windows versions (except 16-bit versions like Windows 3.0/3.1) are supported: Windows 95/98/Me and Windows NT/2000/XP or higher.

To use Barcode/ActiveX in your applications, you need only one file:

	EZBARX32.OCX
which should be placed in the windows/system directory on Windows 95/98/Me; or windows/system32 on Windows NT/2000/XP. Both require to be registered, which can be done by running:
	regsvr32.exe <full path>\EZBARX32.OCX
That's all there is to intalling Barcode/ActiveX.
Windows 95 Alert:
If you're using some older versions of Windows 95, you need to make sure that the following files are in your windows/system directory:
	OLEPRO32.DLL
	MFC42.DLL
	MSVCRT.DLL
If not, you need to copy them over from a more recent version of Windows 95; or possibly from Windows 98/Me. If you have to do so, you'll also need to register OLEPRO32.DLL and MFC42.DLL by running:
	regsvr32.exe OLEPRO32.DLL
	regsvr32.exe MFC42.DLL

Tutorial

In Microsoft Office applications (Word, Excel, etc.) and other applications like WordPad, just insert Barcode/ActiveX as an OLE object into your document, and then set the barcode properties through the Properties dialog box. Note that certain applications put the control (or, the document, to be more accurate) in "Run" mode right after insertion; in order for you to change the barcode properties, you need to first put the document in Design Mode using the application's menu.

In Visual Basic and other programming systems, insert Barcode/ActiveX onto a form at design time and set the barcode properties. At run time, you can call the control's Draw method to print barcodes - onto a form or a printer; call the CopyImage method to copy the barcode onto the Clipboard as a metafile or a bitmap; you can also call SaveImage to save the barcode image to a file in various image formats including Windows Bitmap, PNG, JPEG, Enhanced Metafile, and Windows Metafile. You can also use Barcode/ActiveX in conjunction with the PictureBox Control; just set PictureBox.Picture to the Picture, MetafilePicture or BitmapPicture property of Barcode/ActiveX, or to the return value of a MakePicture method call.

In report writers like the one in Microsoft Access, Barcode/ActiveX allows you to print multiple barcodes that are linked each to a detail line. Just drop the control onto a report's detail line; then under the report writer's detail format event, set the control's Data property to whatever expression based on the current record's field values. To have this feature, your report writer must provide a detail line formatting event. Contact your report writer vendor if you are not sure.

Examples

Microsft Office (Word or Excel) Document Example

This example demonstrates using Barcode/ActiveX as an OLE object (Compound Document Object) in a Microsoft Word or Excel document. Note that you can program Word do automate things like doing Mail Merge with Barcode/ActiveX.

Step Description
Insert barcode object Position the cursor to the place where you wish to put the barcode. From the Insert menu, choose Insert Object and a dialog box will appear. Double-click on Bokai Barcode Control, and a barcode object will be inserted into your document.
Resize barcode object Use the mouse to resize the barcode until you are satisfied. On the screen, the barcode may take less or more space than the bounding rectangle. Do not pay too much attention to this, just set the rectangle to the desired size, because the result can be different, due to resolution differences between the screen and the actual printer you will be using. Note that in Microsoft Excel, you need to first put the document in "design mode" before you can resize or change the properties of Barcode/ActiveX.
Set object properties From the Edit menu, choose Bokai Barcode Control / Properties. This will bring up the Barcode Control custom property sheets. Choose the General tab. Select a barcode type of your choice (e.g., Code 39) and enter the barcode data.
(Optionally, still on the custom property sheets, you can modify other properties like font, colors, etc.)
Test Print the document.

MS-Access Report Example

This example demonstrates how to use Barcode/ActiveX in an MS-Access report. The control data will linked to a detail line of the report.

Step Description
Open report in design mode Open MS-Access example database NORTHWND.MDB. Open the report Alphabetical List of Products in design mode.
Insert barcode control Position the cursor anywhere on the detail line. From the Insert menu, choose Insert OLE Control. On the dialog box that appears, double-click Bokai Barcode Control. A barcode control will appear on the detail line. Move and resize the control as appropriate with the mouse.
Set control properties From the Edit menu, choose Bokai Barcode Control / Properties. This will bring up the barcode control custom property sheets. Choose the General tab. Select a barcode type of your choice (e.g., Code 39) from dropdown combobox, and enter the barcode data. Press OK to quit the dialog box.
Link to detail line Using the mouse right button, click anywhere on the detail line, and a pop-up menu will appear. Choose Build Code, and the procedure window will appear. From the Event dropdown combobox, select the detail_format event, and fill in the procedure body like like this:
	controlname.Data = UnitsInStock
where controlname is the name of the barcode control that you can know by looking at the property window provided by Access. This will link the barcode data to the number of units in stock of each product. (This is not a good business example, since in real life, we probably rarely need to represent product quantities with barcodes.)
Test Close the report in design mode. Print the report out or preview it.

Draw Method Example

The following example shows how to print a barcode on a form. It uses the barcode type set at design time (default: Code 39):

Sub Form_DblClick ()
	Barcode1.Data = "12345678"
	Barcode1.Draw hDC, 2500, 500, 2800, 1000, 1, False, False
End Sub
This draws on the form a barcode 2800 TWIPS wide, 1000 TWIPS high, starting at 2500 TWIPS from the top the form and 500 TWIPS from the left. The use of TWIPS is indicated by the number 1 for the sixth argument.

The following example shows how to print a barcode on the Windows' default printer. It also shows how to set the barcode type at run-time. Note that the Printer object must be initialized by the statement Printer.Scale before you can use the Printer.hDC property.

Sub Form_DblClick ()
	Barcode1.BarcodeType = 5	'UPC-A
	Barcode1.Data = "12345678901"
	Printer.Scale	'initialize printer
	Barcode1.Draw Printer.hDC, 2500, 500, 2800, 1000, 1, False, False
	Printer.EndDoc
End Sub.

CopyImage Method Example

The following example shows how to copy a barcode as an enhanced metafile to the Clipboard. It uses the barcode type set at design time (default: Code 39):

Sub Form_DblClick ()
	Barcode1.Data = "12345678"
	Barcode1.CopyImage 4, 2800, 1000, 1, False 
End Sub
The enhanced metafile is 2800 TWIPS wide and 1000 TWIPS high.

EnumBarStart, EnumBarNext Example

This example shows how to retrieve the specifications (bar position, width, ...) of the barcode bars. (It actually puts the result into a listbox, when double-click your form. You might write your own drawing code to draw the barcode; or export the data in whatever format according to your need.)

Sub Form_DblClick ()
	Dim BarPos As Integer
	Dim BarWidth As Integer
	Dim BarStyle As Integer
	Dim AddOnBar As Boolean
	Dim LongBar As Boolean
	Barcode1.EnumBarStart 1
	While Barcode1.EnumBarNext(BarPos, BarWidth, BarStyle)
		AddOnBar = BarStyle And 1
		LongBar = BarStyle And 2
		List1.AddItem Str$(BarPos) & Str$(BarWidth) & Str$(AddOnBar) & Str$( LongBar)
	Wend
End Sub

Methods

Draw Method

Draws a barcode.

Syntax

object.Draw hDC, Left, Top, Width, Height, Unit, SizePerModule, CalcSizeOnly

Parameters

hDC

The hDC (device context handle) of the output device. This might be form1.hDC in Visual Basic if you are printing to a form, or Printer.hDC if you are printing to the default printer.

Left, Top, Width,Height

Long integers. These arguments define a rectangle corresponding the output device's normal viewing direction, in units indicated by the Unit argument below. This is the desired rectangle in which the barcode will be drawn. Specify the barcode size or size per barcode module, in units indicated by the next argument. Must always be > 0, except when the argument Unit = 0, in which case, they should be such that (Left + Width, Top + Height) is the bottom-right corner of the barcode rectangle.

Unit

Short integer. Indicates the units used by the previous arguments:

SizePerModule

Boolean. Indicates whether the Width (or Height if barcode to be rotated 90 or 270 degrees) argument specifies the entire barcode width or the width per barcode module.

CalcSizeOnly

Boolean. If True, this Draw method call will not actually print out, but will allow, nevertheless, subsequent calls to GetActualRect method to retrieve the actual barcode size.

Remarks

The Left, Top, Width and Height arguments correspond always to the destination device's normal viewing direction, regardless of the current barcode orientation. Consequently, if the barcode orientation is 90 or 270 degrees, the barcode height will be specified by the Width argument, and the barcode width (or width per module) by the Height argument.

In Visual Basic, when you are drawing on a printer, you must initialize the Printer object using the statement Printer.Scale, prior to calling this method with the Printer.hDC property as the first argument.

CopyImage Method

Copies a barcode image to the clipboard.

Syntax

object.CopyImage ImageFormat, Width, Height, Unit, SizePerModule, ClipboardAlreadyOpen

Parameters

ImageFormat

Short integer. Indicates the image format:

Width, Height

Long integers. Specify the barcode size or size per module (barcode thinnest bar), in units indicated by the next argument.

Unit

Short integer. Indicates the units used by the previous arguments:

SizePerModule

Boolean. Indicates whether the Width (or Height if barcode to be rotated 90 or 270 degrees) argument specifies the entire barcode width or the width per barcode module.

ClipboardAlreadyOpen

Boolean. Use False typically so that this method will internally open the Clipboard, empty it, do the copy and then close it; you would use True if you want to call this method multiple times to get multiple formats of the barcode image onto the Clipboard, in which case, you need to call the Windows API OpenClipboard, EmptyClipboard adn then make multiple calls to the current method, before you call CloseClipboard.

Remarks

The CopyMetafile method in earlier versions is still supported but is deprecated. It is equivalent to calling the current method with the first parameter set to 5 (Windows Metafile).

SaveImage Method

Saves a barcode image to a file.

Syntax

object.SaveImage ImageFormat, Width, Height, Unit, SizePerModule, FilePath

Parameters

ImageFormat

Short integer. Indicates the image format:

Width, Height

Long integers. Specify the barcode size or size per module (barcode thinnest bar), in units indicated by the next argument.

Unit

Short integer. Indicates the units used by the previous arguments:

SizePerModule

Boolean. Indicates whether the Width (or Height if barcode to be rotated 90 or 270 degrees) argument specifies the entire barcode width or the width per barcode module.

FilePath

String. Indicates the file path name to which you want to save the barcode image.

MakeImage Method

Creates a barcode image in memory as a SAFEARRAY.

Syntax

imageData = object.MakeImage(ImageFormat, Width, Height, Unit, SizePerModule)

Parameters

ImageFormat

Short integer. Indicates the image format:

Width, Height

Long integers. Specify the barcode size or size per module (barcode thinnest bar), in units indicated by the next argument.

Unit

Short integer. Indicates the units used by the previous arguments:

SizePerModule

Boolean. Indicates whether the Width (or Height if barcode to be rotated 90 or 270 degrees) argument specifies the entire barcode width or the width per barcode module.

Remarks

The returned value is the actual image data in a SAFEARRAY.

MakePicture Method

Creates a barcode image as an Enhanced Metafile, Windows Metafile or a bitmap wrapped in a picture (IPicture).

Syntax

picture = object.MakePicture(ImageFormat, Width, Height, Unit, SizePerModule)

Parameters

ImageFormat

Short integer. Indicates the image format:

Note that only these formats are allowed when generating a picture (IPicture).

Width, Height

Long integers. Specify the barcode size or size per module (barcode thinnest bar), in units indicated by the next argument.

Unit

Short integer. Indicates the units used by the previous arguments:

SizePerModule

Boolean. Indicates whether the Width (or Height if barcode to be rotated 90 or 270 degrees) argument specifies the entire barcode width or the width per barcode module.

Example

Assuming you have a PictureBox Contol picture1 and a Barcode/ActiveX Control barcode1, you can do,
    Picture1.Picture = Barcode1.MakePicture(4, 1000, 500, 6, False)
and the PictureBox Control will show a barcode image (Enhanced Metafile). Note that the original image is generated to be 1x0.5 inch in size.

MakeImageHandle Method

Creates a barcode image and returns the GDI object handle.

Syntax

hGdiObject = object.MakeImageHandle(ImageFormat, Width, Height, Unit, SizePerModule)

Parameters

ImageFormat

Short integer. Indicates the image format:

Note that only these formats are allowed.

Width, Height

Long integers. Specify the barcode size or size per module (barcode thinnest bar), in units indicated by the next argument.

Unit

Short integer. Indicates the units used by the previous arguments:

SizePerModule

Boolean. Indicates whether the Width (or Height if barcode to be rotated 90 or 270 degrees) argument specifies the entire barcode width or the width per barcode module.

Remarks

The returned value hGdiObject is hBitmap, hEnhMetafile or hMetafile depending ont he ImageFormat parameter.

GetActualRect Method

Allows to create, using the current style properties, a metafile barcode and copy it to the clipboard. You must specify the barcode size in real-world units when calling this function.

Syntax

object.GetActualRect RectID, Left, Top, Right, Bottom

Parameters

RectID

Short integer. Specifies the rectangle for which you wish to retrieve the actual position and size:

Left, Top, Right, Bottom

Long integers, by reference. The retrieved rectangle in the same units as used in the last Draw method call.

Remarks

The actual barcode bounding rectangle can be different from the desired one (as passed in the Draw method call) when the PixelAlign property is TRUE (default), meaning every barcode bar must be mapped to a multiple of pixel resolutions of the destination device.

EnumBarStart Method
EnumBarNext Method

Allow to retrieve, one by one, the barcode bars' specifications (position, width, and attributes). This is an advanced use of the control. These methods might be useful if you want to write your own code to draw the barcode or if you want to generate barcode fonts.

Syntax

object.EnumBarStart Scale
Success = object.EnumBarNext (BarPos, BarWidth, BarStyle)

Parameters

Scale

Short integer (called Integer in VB). Scale factor by which the bar positions/widths will be scaled when returned.

BarPos

Short integer, by reference. Start position of the bar retrieved.The position is a value (in barcode modules) relative to the bar widths, the far left of barcode (including clear area) being always 0.

BarWidth

Short integer, by reference. Width of the bar retrieved.The width is a value (in terms of barcode modules scaled by Scale) relative to the widths and positions of the other barcode bars.

BarStyle

Short integer, by reference. This is a bit field, with bits corresponding to the bar styles: whether the bar is part of the barcode add-on (bit 0), whether it is a long bar (bit 1) - values 1 and 2, respectively.

Remarks

Call EnumBarStart once; then keep calling EnumBarNext to retrieve the barcode bars one by one, until it returns False, indicating you have already passed the last bar of barcode (no valid bar was returned this time). The positions and bar widths have no absolute meaning; in particular, they are not related in any way to the size values that you might have used in a previous Draw method call. It's up to you to map them to real-world units and then do the actual drawing.

Refresh Method

Allows to repaint the barcode control.

Syntax

object.Refresh

Properties

AddOnCaption Property

Determines the text to be displayed with the add-on part of the barcode; will override the default text which is the same as AddOnData.

Syntax

object.AddOnCaption [ = addOnCaption ]

Parameters

addOnCaption

String specifying the display text for the barcode add-on.

Remarks

When this property is set, its value will be displayed with the barcode in lieu of AddOnData.

AddOnData Property

Determines the data used by the add-on portion of the barcode.

Syntax

object.AddOnData [ = addOnData ]

Parameters

addOnData

String specifying the data for the add-on portion of the barcode.

The default is a suite of 0s.

Remarks

This property must be set after BarcodeType has been set; any change of the BarcodeType property will cause this property to change back to a suite of 0s.

The value of this property must be compatible with the current BarcodeType, otherwise an error will be thrown. Not all barcode types have add-ons.

If the barcode type uses a check character (or characters), it's not necessary to include them in the Data property, as they can be calculated. However, if you do include them, they need to be correct.

AddOnDataInvalid Property

Tells whether the current barcode add-on data is invalid.

Syntax

object.AddOnDataInvalid

AddOnTextAlign Property

Determines the alignment of the displayed text associated with the add-on part of the barcode.

Syntax

object.AddOnTextAlign [ = textAlign ]

Parameters

textAlign

ForeColor, BackColor Properties

Determine the foreground and background colors used to draw the barcode.

Syntax

object.ForeColor [ = color ]
object.BackColor [ = color ]

Parameters

color

Numeric value specifying the color value.

The default values are black for ForeColor and white for BackColor.

BarcodeType Property

Determines the barcode type.

Syntax

object.BarcodeType [ = barcodeType ]

Parameters

barcodeType

Numeric value indicating the barcode type. The constant values and equivalent numeric values are:

Remarks

This property must be set before performing any other operations (especially setting data) on the object.

If you need to generate barcodes of different types, you can set this property several times to modify its value; this is more efficient that creating a barcode object each time.

BarTypeWidth, SpaceTypeWidth, InterCharSpace Properties

Determine the the ratio between the bar widths, space widths and inter-character gap of the barcode.

Syntax

object.BarTypeWidth(index) [ = barTypeWidth ]
object.SpaceTypeWidth(index) [ = spaceTypeWidth ]
object.InterCharSpace [ = interCharWidth ]

Parameters

index

Integer value varying from 0 to 3, 0 corresponding to the narrowest bar or space, 3 the widest. Only Code-128 and EAN-128 types of barcodes have 4 bar/space widths, the others have less.

barTypeWidth, spaceTypeWidth, interCharWidth

Numeric values indicating the widths.

Remarks

These properties are for fine-tuning purposes only. Do not change them unless you know exactly what you're doing.

BitmapPicture Property

Gives the barcode image as a bitmap wrapped in a picture (IPicture).

Syntax

object.BitmapPicture

Example

Assuming you have a PictureBox Contol picture1 and a Barcode/ActiveX Control barcode1, you can do,
    Picture1.Picture = Barcode1.BitmapPicture
and the PictureBox Control will show a barcode image (a bitmap).

Caption Property

Specifies the display text for the main part of the barcode.

Syntax

object.Caption [ = caption ]

Parameters

caption

String specifying the display text for the barcode.

Remarks

When this property is not set, the display text is DefaultCaption, which is derived from the Data property.

CheckChars Property

Indicates the check characters corresponding to the current barcode data.

Syntax

object.CheckChars

Parameters

Remarks

Most barcode types have no or one check character; few have two.

Just like barcode data, depending on the barcode type, a check character may not have the corresponding ASCII code. When this is the case, the character(s) returned will have the highest bit set to 1, indicating a native code is used, not ASCII.

ClearAreaLeft, ClearAreaTop, ClearAreaRight, ClearAreaBottom, ClearAreaMiddle Properties

Specify the barcode margins (left, top, right and bottom) and the gap (ClearAreaMiddle) between the main and add-on parts of the barcode.

Syntax

object.ClearAreaLeft [ = clearAreaLeft ]
object.ClearAreaRight [ = clearAreaRight ]
object.ClearAreaTop [ = clearAreaTop ]
object.ClearAreaBottom [ = clearAreaBottom ]
object.ClearAreaMiddle [ = clearAreaMiddle ]

Parameters

ClearAreaLeft, ClearAreaTop, ClearAreaRight, ClearAreaBottom, ClearAreaMiddle

Numeric values indicating the left, top, right and bottom margins of the barcode and the gap between the main and add-on parts of the barcode

Remarks

These properties are for fine-tuning purposes only. Do not change them unless you know exactly what you're doing.

Data Property

Determines the data used by the barcode (or the main portion of the barcode if there's an add-on).

Syntax

object.Data [ = data ]

Parameters

data

String specifying the data for the main portion of the barcode.

The default is "000000".

Remarks

This property must be set after BarcodeType has been set; any change of the BarcodeType property will cause this property to change back to the default value ("000000").

The value of this property must be compatible with the current BarcodeType, otherwise an error will be thrown.

The value can contain characters native to the current barcode type (i.e. without ASCII code). To distinguish these characters from normal ASCII characters, you need to set the most-significant bit of the character to 1, i.e., add 128 to the native character code.

DataInvalid Property

Tells whether the current barcode (main) data is invalid.

Syntax

object.DataInvalid

DefaultCaption Property

Indicates the default caption for the main portion of the barcode.

Syntax

object.DefaultCaption

Parameters

Remarks

This property is calculated based on the current barcode data. Depending on the barcode type, this property may contain additional check characaters and/or may have dropped non-ASCII characters there were present in the data; Code 39 barcodes may add a * to the beginning and end of the barcode data to form the caption.

For the barcode types we support, the default caption of the add-on portion (if any) of a barcode is the same as the barcode AddOnData. So there's no such property called DefaultAddOnCaption.

FigureTransparent Property

Specifies whether the barcode image will use a transparent background.

Syntax

object.FigureTransparent[ = figureTransparent ]

Parameters

figureTransparent

A boolean value:

Remarks

This property has effect only on the result of the Draw method. It has no effect on the control's appearance which is always opaque.

Font Property

Determines the font used to draw the barcode captions.

Syntax

object.Font.Name [ = fontName ]
object.Font.Size [ = fontSize ]
object.Font.Bold [ = bold ]
object.Font.Italic [ = italic ]

Parameters

fontName

String indicating the name of the font (default: "Arial").

fontSize

Numeric value indicating the point size of the font (default: 9).

bold

Boolean value indicating whether the font is boldfaced.

italic

Boolean value indicating whether the font is italicized.

HorzAlign Property

Specifies the horizontal alignment of the barcode within the desired rectangle.

Syntax

object.HorzAlign[ = horzAlign ]

Parameters

horzAlign

Numeric value indicating alignment:

hWnd Property

Indicates the control window handle.

Syntax

object.hWnd

InvalidDataAction Property

Determines the action to take when the barcode data is invalid.

Syntax

object.InvalidDataAction[ = invalidDataAction ]

Parameters

invalidDataAction

Numeric value indicating the action to take:

MetafilePicture Property

Gives the barcode image as a Windows Metafile wrapped in a picture (IPicture).

Syntax

object.MetafilePicture

Example

Assuming you have a PictureBox Contol picture1 and a Barcode/ActiveX Control barcode1, you can do,
    Picture1.Picture = Barcode1.MetafilePicture
and the PictureBox Control will show a barcode image (Windows Metafile).

NumModules Property

Indicates the number of modules in the barcode.

Syntax

object.NumModules

Remarks

A module is defined as any one of the thinnest bars of the barcode. The number of modules in a barcode gives the minimum width of the barcode in pixels. The barcode width can only be a multiple of this value. Depending on the user printer resolution and the barcode type, a barcode of the minimum width may not be scannable, so scaling may be necessary.

Orientation Property

Determines the rotation of the barcode image.

Syntax

object.Orientation [ = orientation ]

Parameters

orientation

Numeric value indicating the rotation:

Remarks

If you choose to change the default font, a TrueType font (or other types of vector fonts) must be chosen when the barcode image is to be rotated.

PixelAlign Property

Determines whether the bar and space widths must be multiples of output device pixel resolutions.

Syntax

object.PixelAlign [ = pixelAlign ]

Parameters

pixelAlign

A boolean value:

Picture Property

Gives the barcode image as an Enhanced Metafile wrapped in a picture (IPicture).

Syntax

object.Picture

Example

Assuming you have a PictureBox Contol picture1 and a Barcode/ActiveX Control barcode1, you can do,
    Picture1.Picture = Barcode1.Picture
and the PictureBox Control will show a barcode image (Enhanced Metafile).

RetainAspectRatio Property

Determines if the desired width/height ratio should be retained when the barcode size is adjusted.

Syntax

object.RetainAspectRatio [ = retainAspectRatio ]

Parameters

retainAspectRatio

A boolean value:

ShowCode39StartStop Property

Applicable only to Code 39 barcodes. Specifies whether the start and stop characters (asterisk *) are to be shown in the caption.

Syntax

object.ShowCode39StartStop [ = showCode39StartStop ]

Parameters

showCode39StartStop

A boolean value:

StretchText Property

Specifies whether the barcode text should be stretched to take the whole width of the barcode.

Syntax

object.StretchText [ = stretchText ]

Parameters

stretchText

A Boolean value:

TextAlign Property

Determines the alignment of the displayed text associated with the main part of the barcode.

Syntax

object.TextAlign [ = textAlign ]

Parameters

textAlign

UniBarHeight Property

Specifies whether to use a single bar height throughout. Applicable only to the UPC and EAN barcode types.

Syntax

object.UniBarHeight [ = uniBarHeight ]

Parameters

uniBarHeight

A boolean value:

UpcSmallFont Property

Specifies whether the first and last digits of a UPC type barcode should be displayed with a smaller font.

Syntax

object.UpcSmallFont[ = upcSmallFont ]

Parameters

upcSmallFont

A boolean value: