Attribute VB_Name = "BarModule" Option Explicit Global Const RASTER_STR = "LEADRaster.LEADRaster" ' API Declarations Public Const R2_NOT = 6 ' Dn Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Public rcRgn As RECT Public rcFrame As RECT Public bLMDown As Boolean Declare Function SetRect Lib "user32" (lpRect As RECT, ByVal Left As Long, ByVal Top As Long, ByVal Right As Long, ByVal Bottom As Long) As Long Declare Function SetROP2 Lib "gdi32" (ByVal hdc As Long, ByVal nDrawMode As Long) As Long Declare Function MoveToEx Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, lpNotNeeded As Long) As Long Declare Function LineTo Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long ' Public Declarations Public fMainForm As frmMain Public fReadOptDlg As ReadOpt Public fWriteOptDlg As WriteOpt Public fDupIndexDlg As DupIndexFrm Public fAboutBox As frmAbout Public lDocumentCount As Long Public lBarType As Long Public bBarDuplicated As Boolean Public nDupIndex As Integer Sub Main() Set fMainForm = New frmMain fMainForm.Show Set fReadOptDlg = New ReadOpt Load fReadOptDlg Set fWriteOptDlg = New WriteOpt Load fWriteOptDlg Set fDupIndexDlg = New DupIndexFrm Load fDupIndexDlg Set fAboutBox = New frmAbout Load fAboutBox fMainForm.mnuEditCopy.Enabled = False fMainForm.mnuEditPaste.Enabled = fMainForm.LEADRasterView.Raster.Paste(PASTE_ISREADY) ' enable/disable Paste button fMainForm.mnuFileSaveAs.Enabled = False fMainForm.mnuFileClose.Enabled = False fMainForm.mnuActions.Enabled = False fMainForm.mnuWindow.Enabled = False End Sub Public Sub DisplayBarCodeInfo(nIndex As Integer) Dim strInfo As String Dim strUnits As String Dim strBarType As String Dim strBarData As String With fMainForm.ActiveForm.LEADBar.BarCodeData(nIndex) GetBarTypeStr .Type, strBarType GetBarUnitsStr .Units, strUnits ConvertNULLString .Data, strBarData, .Length strInfo = "No. " + CStr(nIndex) + Chr(13) + _ "Type " + strBarType + Chr(13) + _ "Units " + strUnits + Chr(13) + _ "Data is " + strBarData + Chr(13) + _ "PosX " + CStr(.Left) + Chr(13) + _ "PosY " + CStr(.Top) + Chr(13) + _ "Width " + CStr(.Width) + Chr(13) + _ "Height " + CStr(.Height) + Chr(13) MsgBox strInfo, vbInformation, "BarCode Info." End With End Sub Public Sub ConvertNULLString(SrcStr As String, DestStr As String, iSrcStrLen As Integer) Dim n As Integer DestStr = SrcStr For n = 1 To iSrcStrLen If Mid(DestStr, n, 1) = Chr(0) Then Mid(DestStr, n, 1) = Chr(20) End If Next Mid(DestStr, iSrcStrLen, 1) = " " End Sub Private Sub GetBarTypeStr(lBarType As Long, strBarName As String) Select Case lBarType Case BARCODE_1D_EAN_13 strBarName = "EAN 13" Case BARCODE_1D_EAN_8 strBarName = "EAN 8" Case BARCODE_1D_UPC_A strBarName = "UPC A" Case BARCODE_1D_UPC_E strBarName = "UPC E" Case BARCODE_1D_CODE_3_OF_9 strBarName = "Code 3 of 9" Case BARCODE_1D_CODE_128 strBarName = "Code 128" Case BARCODE_1D_CODE_93 strBarName = "Code 93" Case BARCODE_1D_CODE_I2_OF_5 strBarName = "Interleaved 2 of 5" Case BARCODE_1D_CODA_BAR strBarName = "CODABAR" Case BARCODE_1D_UCCEAN_128 strBarName = "UCCEAN 128" Case BARCODE_PDF417 strBarName = "PDF417" Case BARCODE_DM_DEF strBarName = "DM Default" Case BARCODE_DM_10x10 strBarName = "DM 10x10" Case BARCODE_DM_12x12 strBarName = "DM 12x12" Case BARCODE_DM_14x14 strBarName = "DM 14x14" Case BARCODE_DM_16x16 strBarName = "DM 16x16" Case BARCODE_DM_18x18 strBarName = "DM 18x18" Case BARCODE_DM_20x20 strBarName = "DM 20x20" Case BARCODE_DM_22x22 strBarName = "DM 22x22" Case BARCODE_DM_24x24 strBarName = "DM 24x24" Case BARCODE_DM_26x26 strBarName = "DM 26x26" Case BARCODE_DM_32x32 strBarName = "DM 32x32" Case BARCODE_DM_36x36 strBarName = "DM 36x36" Case BARCODE_DM_40x40 strBarName = "DM 40x40" Case BARCODE_DM_44x44 strBarName = "DM 44x44" Case BARCODE_DM_48x48 strBarName = "DM 48x48" Case BARCODE_DM_52x52 strBarName = "DM 52x52" Case BARCODE_DM_64x64 strBarName = "DM 64x64" Case BARCODE_DM_72x72 strBarName = "DM 72x72" Case BARCODE_DM_80x80 strBarName = "DM 80x80" Case BARCODE_DM_88x88 strBarName = "DM 88x88" Case BARCODE_DM_96x96 strBarName = "DM 96x96" Case BARCODE_DM_104x104 strBarName = "DM 10x104" Case BARCODE_DM_120x120 strBarName = "DM 120x120" Case BARCODE_DM_132x132 strBarName = "DM 132x132" Case BARCODE_DM_144x144 strBarName = "DM 144x144" Case BARCODE_DM_8x18 strBarName = "DM 8x18" Case BARCODE_DM_8x32 strBarName = "DM 8x32" Case BARCODE_DM_12x26 strBarName = "DM 12x26" Case BARCODE_DM_12x36 strBarName = "DM 12x36" Case BARCODE_DM_16x36 strBarName = "DM 16x36" Case BARCODE_DM_16x48 strBarName = "DM 48x48" Case BARCODE_DM_WRITE_RECTANGLE strBarName = "DM Default Rect" Case BARCODE_QR_DEF strBarName = "QR DEF" Case BARCODE_QR_M2_1 strBarName = "QR M2 1" Case BARCODE_QR_M2_2 strBarName = "QR M2 2" Case BARCODE_QR_M2_3 strBarName = "QR M2 3" Case BARCODE_QR_M2_4 strBarName = "QR M2 4" Case BARCODE_QR_M2_5 strBarName = "QR M2 5" Case BARCODE_QR_M2_6 strBarName = "QR M2 6" Case BARCODE_QR_M2_7 strBarName = "QR M2 7" Case BARCODE_QR_M2_8 strBarName = "QR M2 8" Case BARCODE_QR_M2_9 strBarName = "QR M2 9" Case BARCODE_QR_M2_10 strBarName = "QR M2 10" Case BARCODE_QR_M2_11 strBarName = "QR M2 11" Case BARCODE_QR_M2_12 strBarName = "QR M2 12" Case BARCODE_QR_M2_13 strBarName = "QR M2 13" Case BARCODE_QR_M2_14 strBarName = "QR M2 14" Case BARCODE_QR_M2_15 strBarName = "QR M2 15" Case BARCODE_QR_M2_16 strBarName = "QR M2 16" Case BARCODE_QR_M2_17 strBarName = "QR M2 17" Case BARCODE_QR_M2_18 strBarName = "QR M2 18" Case BARCODE_QR_M2_19 strBarName = "QR M2 19" Case BARCODE_QR_M2_20 strBarName = "QR M2 20" Case BARCODE_QR_M2_21 strBarName = "QR M2 21" Case BARCODE_QR_M2_22 strBarName = "QR M2 22" Case BARCODE_QR_M2_23 strBarName = "QR M2 23" Case BARCODE_QR_M2_24 strBarName = "QR M2 24" Case BARCODE_QR_M2_25 strBarName = "QR M2 25" Case BARCODE_QR_M2_26 strBarName = "QR M2 26" Case BARCODE_QR_M2_27 strBarName = "QR M2 27" Case BARCODE_QR_M2_28 strBarName = "QR M2 28" Case BARCODE_QR_M2_29 strBarName = "QR M2 29" Case BARCODE_QR_M2_30 strBarName = "QR M2 30" Case BARCODE_QR_M2_31 strBarName = "QR M2 31" Case BARCODE_QR_M2_32 strBarName = "QR M2 32" Case BARCODE_QR_M2_33 strBarName = "QR M2 33" Case BARCODE_QR_M2_34 strBarName = "QR M2 34" Case BARCODE_QR_M2_35 strBarName = "QR M2 35" Case BARCODE_QR_M2_36 strBarName = "QR M2 36" Case BARCODE_QR_M2_37 strBarName = "QR M2 37" Case BARCODE_QR_M2_38 strBarName = "QR M2 38" Case BARCODE_QR_M2_39 strBarName = "QR M2 39" Case BARCODE_QR_M2_40 strBarName = "QR M2 40" Case BARCODE_QR_M1_1 strBarName = "QR M1 1" Case BARCODE_QR_M1_2 strBarName = "QR M1 2" Case BARCODE_QR_M1_3 strBarName = "QR M1 3" Case BARCODE_QR_M1_4 strBarName = "QR M1 4" Case BARCODE_QR_M1_5 strBarName = "QR M1 5" Case BARCODE_QR_M1_6 strBarName = "QR M1 6" Case BARCODE_QR_M1_7 strBarName = "QR M1 7" Case BARCODE_QR_M1_8 strBarName = "QR M1 8" Case BARCODE_QR_M1_9 strBarName = "QR M1 9" Case BARCODE_QR_M1_10 strBarName = "QR M1 10" Case BARCODE_QR_M1_11 strBarName = "QR M1 11" Case BARCODE_QR_M1_12 strBarName = "QR M1 12" Case BARCODE_QR_M1_13 strBarName = "QR M1 13" Case BARCODE_QR_M1_14 strBarName = "QR M1 14" Case BARCODE_QR_M1_DEF strBarName = "QR M1 DEF" End Select End Sub Private Sub GetBarUnitsStr(nUnits As Integer, strBarUnits As String) Select Case nUnits Case BARCODE_SCANLINES_PER_PIXELS strBarUnits = "Scans/pixels" Case BARCODE_INCHES strBarUnits = "Inches" Case BARCODE_MILLIMETERS strBarUnits = "Millimeters" End Select End Sub Public Sub DisplayLEADError(nRet As Integer) Dim strBuffer As String strBuffer = "LEAD Error: " + Str(nRet) MsgBox strBuffer, vbCritical, "Error!" End Sub Public Sub WaitCursor() fMainForm.MousePointer = vbHourglass End Sub Public Sub NormalCursor() fMainForm.MousePointer = vbDefault End Sub