LineRemove example for Visual Basic

Private Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Declare Function CombineRgn Lib "gdi32" (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long
Public hRgnAll As Long
Private Const RGN_OR = 2

'Declare the RasterProcess object WithEvents
Public WithEvents RasterProc As LEADRasterProcess

'Create the RasterProcess object and UnlockSupport
Private Sub Form_Load()
'.....
    Set RasterProc = CreateObject("LEADRasterProcess.LEADRasterProcess. ")
    LEADRasterView1.Raster.UnlockSupport L_SUPPORT_DOCUMENT, "TestKey"
'.....
End Sub

Dim nRet As Integer
'Line Remove
'This examples removes vertical lines that are at least 200 pixels in length
'and no more than 5 pixels in width
'The lines can have gaps up to two pixels in length
'The LineRemove Event is used to display information about each line removed
RasterProc.EnableDocCleanEvents = True
nRet = RasterProc.LineRemove(LEADRasterView1.Raster, LINE_USE_GAP, 200, 5, 7, 10, 2, 0, LINEREMOVE_HORIZONTAL)

Private Sub RasterProc_LineRemove(ByVal fStartRow As Single, ByVal fStartCol As Single, ByVal fLength As Single, ByVal hRgnLine As Long)
Debug.Print "Line at [R,C] " & CStr(fStartRow) & "," & CStr(fStartCol) & " Length=" & CStr(fLength)
End Sub