How to capture button pressed events from PDF Editor OCX Control (PDF Editor ActiveX Control) in VB.NET program language?

Is there sample vb.net code for event handling? I want to be able to monitor when certain buttons are pressed on control. Such as save or annotate. I see the c++ example but none for vb.net

Customer
-----------------------------------
We have added a VB.NET example for you, this VB.NET example contains the button pressed events, you may download the new package from this URL to try again,

https://www.verypdf.com/app/pdf-editor/try-and-buy.html
https://www.verypdf.com/pdf-editor/pdfeditor_ocx.zip

Here is the VB.NET example to capture the button pressed events from PDF Editor OCX Control,

Imports System

Imports System.Runtime.InteropServices

Imports System.Diagnostics

 

Public Class Form1

 

    Public Const ID_TOOLBAR_OPEN As Long = 32772

    Public Const ID_TOOLBAR_SAVE As Long = 32774

    Public Const ID_TOOLBAR_PRINT As Long = 32773

    Public Const ID_TOOLBAR_EMAIL As Long = 32776

    Public Const ID_TOOLBAR_HAND As Long = 32777

    Public Const ID_TOOLBAR_COMMENT As Long = 32778

    Public Const ID_TOOLBAR_CONTENT As Long = 32779

    Public Const ID_TOOLBAR_FORM As Long = 32877

    Public Const ID_TOOLBAR_LINKTOOL As Long = 32878

    Public Const ID_TOOLBAR_COMMENT_TEXT As Long = 32780

    Public Const ID_TOOLBAR_COMMENT_NOTE As Long = 32781

    Public Const ID_TOOLBAR_COMMENT_STAMP As Long = 32782

    Public Const ID_TOOLBAR_COMMENT_PENCIL As Long = 32783

    Public Const ID_TOOLBAR_COMMENT_LINE As Long = 32784

    Public Const ID_TOOLBAR_COMMENT_RECTANGLE As Long = 32785

    Public Const ID_TOOLBAR_COMMENT_ELLIPSE As Long = 32786

    Public Const ID_TOOLBAR_CONTENT_TEXT As Long = 32787

    Public Const ID_TOOLBAR_CONTENT_LINE As Long = 32788

    Public Const ID_TOOLBAR_CONTENT_RECTANGLE As Long = 32789

    Public Const ID_TOOLBAR_CONTENT_ELLIPSE As Long = 32790

    Public Const ID_TOOLBAR_CONTENT_POLYLINE As Long = 32791

    Public Const ID_TOOLBAR_SELECT_TEXT As Long = 32792

    Public Const ID_TOOLBAR_SELECT_IMAGE As Long = 32793

 

    Private Const WM_MOUSEFIRST As Long = &H200

    Private Const WM_MOUSEMOVE As Long = &H200

    Private Const WM_LBUTTONDOWN As Long = &H201

    Private Const WM_LBUTTONUP As Long = &H202

    Private Const WM_LBUTTONDBLCLK As Long = &H203

    Private Const WM_RBUTTONDOWN As Long = &H204

    Private Const WM_RBUTTONUP As Long = &H205

    Private Const WM_RBUTTONDBLCLK As Long = &H206

    Private Const WM_MBUTTONDOWN As Long = &H207

    Private Const WM_MBUTTONUP As Long = &H208

    Private Const WM_MBUTTONDBLCLK As Long = &H209

    Private Const WM_MOUSEWHEEL As Long = &H20A

    Private Const WM_MOUSEHWHEEL As Long = &H20E

 

    Public Const WM_USER = &H400

    'Messages for SetMessageCallbackFunc() function

    Public Const WM_MESSAGECALLBACK As Long = (WM_USER + 1001)

    Public Const WM_ADD_COMMENT_FINISHED As Long = (WM_USER + 1014)

    Public Const WM_SELECT_A_COMMENT As Long = (WM_USER + 1015)

    Public Const WM_SELECT_A_TEXTAREA As Long = (WM_USER + 1016)

    Public Const WM_SELECT_A_TEXTAREA_BEGIN As Long = (WM_USER + 1017)

    Public Const WM_SELECT_A_TEXTAREA_PROCESSING As Long = (WM_USER + 1018)

    Public Const WM_ADD_COMMENT_GET_PREDEFINED_TEXT As Long = (WM_USER + 1019)

    Public Const WM_ADD_COMMENT_CLICK As Long = (WM_USER + 1020)

 

 

 

    Private Sub Button_About_Click(sender As System.Object, e As System.EventArgs) Handles Button_About.Click

        ocx.AboutBox()

    End Sub

 

    Private Sub Button_OpenPDF_Click(sender As System.Object, e As System.EventArgs) Handles Button_OpenPDF.Click

        Dim fd As OpenFileDialog = New OpenFileDialog()

 

        fd.Title = "Open PDF File Dialog"

        fd.InitialDirectory = "C:\"

        fd.Filter = "PDF Files (*.pdf)|*.pdf|All Files (*.*)|*.*"

        fd.FilterIndex = 0

        fd.RestoreDirectory = True

 

        If fd.ShowDialog() = DialogResult.OK Then

            ocx.OpenPDFFile(fd.FileName, "", "", 0)

        End If

    End Sub

 

    Private Sub Button_SavePDF_Click(sender As System.Object, e As System.EventArgs) Handles Button_SavePDF.Click

        Dim fd As SaveFileDialog = New SaveFileDialog()

        fd.Title = "PDF"

        fd.InitialDirectory = "D:\"

        fd.Filter = "PDF Files (*.pdf)|*.pdf|All Files (*.*)|*.*"

        fd.FilterIndex = 0

        fd.RestoreDirectory = True

        If fd.ShowDialog() = DialogResult.OK Then

            ocx.SavePDFFile(fd.FileName)

        End If

    End Sub

 

    Private Sub Form1_Resize(sender As System.Object, e As System.EventArgs) Handles MyBase.Resize

        Dim myControl As Control

        myControl = sender

 

        ocx.Width = myControl.Size.Width - 20

        ocx.Height = myControl.Size.Height - 80

    End Sub

 

    'StructLayoutAttribute with Sequential layout kind should be appended to PInvoke structs

    Friend Structure MSG

        Public hWnd As IntPtr

        Public message As Integer

        Public wParam As Integer

        Public lParam As Integer 'Maybe you will want to put IntPtr here

        Public time As Integer

        Public pt As POINT

    End Structure

 

    Friend Structure POINT

        Public x As Integer

        Public y As Integer

    End Structure

 

    Function ShowClickedButton(ByVal iButtonID As Integer) As Integer

        Dim strMessage As String

        Select Case iButtonID

            Case ID_TOOLBAR_OPEN

                strMessage = "ID_TOOLBAR_OPEN button clicked."

            Case ID_TOOLBAR_SAVE

                strMessage = "ID_TOOLBAR_SAVE button clicked."

            Case ID_TOOLBAR_PRINT

                strMessage = "ID_TOOLBAR_PRINT button clicked."

            Case ID_TOOLBAR_EMAIL

                strMessage = "ID_TOOLBAR_EMAIL button clicked."

            Case ID_TOOLBAR_HAND

                strMessage = "ID_TOOLBAR_HAND button clicked."

            Case ID_TOOLBAR_COMMENT

                strMessage = "ID_TOOLBAR_COMMENT button clicked."

            Case ID_TOOLBAR_CONTENT

                strMessage = "ID_TOOLBAR_CONTENT button clicked."

            Case ID_TOOLBAR_FORM

                strMessage = "ID_TOOLBAR_FORM button clicked."

            Case ID_TOOLBAR_LINKTOOL

                strMessage = "ID_TOOLBAR_LINKTOOL button clicked."

            Case ID_TOOLBAR_COMMENT_TEXT

                strMessage = "ID_TOOLBAR_COMMENT_TEXT button clicked."

            Case ID_TOOLBAR_COMMENT_NOTE

                strMessage = "ID_TOOLBAR_COMMENT_NOTE button clicked."

            Case ID_TOOLBAR_COMMENT_STAMP

                strMessage = "ID_TOOLBAR_COMMENT_STAMP button clicked."

            Case ID_TOOLBAR_COMMENT_PENCIL

                strMessage = "ID_TOOLBAR_COMMENT_PENCIL button clicked."

            Case ID_TOOLBAR_COMMENT_LINE

                strMessage = "ID_TOOLBAR_COMMENT_LINE button clicked."

            Case ID_TOOLBAR_COMMENT_RECTANGLE

                strMessage = "ID_TOOLBAR_COMMENT_RECTANGLE button clicked."

            Case ID_TOOLBAR_COMMENT_ELLIPSE

                strMessage = "ID_TOOLBAR_COMMENT_ELLIPSE button clicked."

            Case ID_TOOLBAR_CONTENT_TEXT

                strMessage = "ID_TOOLBAR_CONTENT_TEXT button clicked."

            Case ID_TOOLBAR_CONTENT_LINE

                strMessage = "ID_TOOLBAR_CONTENT_LINE button clicked."

            Case ID_TOOLBAR_CONTENT_RECTANGLE

                strMessage = "ID_TOOLBAR_CONTENT_RECTANGLE button clicked."

            Case ID_TOOLBAR_CONTENT_ELLIPSE

                strMessage = "ID_TOOLBAR_CONTENT_ELLIPSE button clicked."

            Case ID_TOOLBAR_CONTENT_POLYLINE

                strMessage = "ID_TOOLBAR_CONTENT_POLYLINE button clicked."

            Case ID_TOOLBAR_SELECT_TEXT

                strMessage = "ID_TOOLBAR_SELECT_TEXT button clicked."

            Case ID_TOOLBAR_SELECT_IMAGE

                strMessage = "ID_TOOLBAR_SELECT_IMAGE button clicked."

            Case Else

                strMessage = "Nothing"

        End Select

 

        Debug.WriteLine(strMessage)

        ShowClickedButton = 0

    End Function

 

    Function GlobalMessageCallback(ByVal hWnd As IntPtr, ByVal message As Integer, ByVal wParam As Integer, ByVal lParam As Integer, ByVal lUserData As Integer) As Integer

 

        Dim strMessage As String

        strMessage = "GlobalMessageCallback: Msg=" & message

        Console.WriteLine(strMessage)

 

        Select Case message

            Case WM_RBUTTONDOWN

                Debug.WriteLine("WM_RBUTTONDOWN")

            Case WM_RBUTTONUP

                Debug.WriteLine("WM_RBUTTONUP")

            Case WM_LBUTTONDOWN

                Debug.WriteLine("WM_LBUTTONDOWN")

            Case WM_LBUTTONUP

                Debug.WriteLine("WM_LBUTTONUP")

            Case WM_MOUSEMOVE

                Debug.WriteLine("WM_MOUSEMOVE")

            Case WM_ADD_COMMENT_FINISHED

                Debug.WriteLine("WM_ADD_COMMENT_FINISHED")

            Case WM_SELECT_A_COMMENT

                Debug.WriteLine("WM_SELECT_A_COMMENT")

            Case WM_SELECT_A_TEXTAREA

                Debug.WriteLine("WM_SELECT_A_TEXTAREA")

            Case WM_ADD_COMMENT_GET_PREDEFINED_TEXT

                Debug.WriteLine("WM_ADD_COMMENT_GET_PREDEFINED_TEXT")

            Case WM_ADD_COMMENT_CLICK

                Debug.WriteLine("WM_ADD_COMMENT_CLICK")

                Dim ret As Integer

                ret = ShowClickedButton(wParam)

        End Select

 

        GlobalMessageCallback = 0

    End Function

 

 

    Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)

        If m.Msg = WM_MESSAGECALLBACK Then

            'call  method to process this message

            Dim msg As MSG

            msg = CType(Marshal.PtrToStructure(m.WParam, GetType(MSG)), MSG)

 

            Dim ret As Integer

            ret = GlobalMessageCallback(msg.hWnd, msg.message, msg.wParam, msg.lParam, m.LParam)

        Else

            'the following code must be retained

            MyBase.WndProc(m)

        End If

    End Sub

 

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

 

        ocx.SetOrderID("XXXXXXXXXXXXXXXXXXXXX", "VeryPDF.com Inc.", "support@verypdf.com")

        ocx.SetMessageCallback(Me.Handle, WM_MESSAGECALLBACK, 0)

 

    End Sub

 

    Private Sub Button_Search_Click(sender As System.Object, e As System.EventArgs) Handles Button_Search.Click

        Dim lParam As Integer

        lParam = 0

        ocx.InvokeMethod(85, 0, lParam)

    End Sub

End Class

 

 

VeryPDF

VN:F [1.9.20_1166]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.20_1166]
Rating: 0 (from 0 votes)

Related Posts

Leave a Reply

Your email address will not be published. Required fields are marked *


Verify Code   If you cannot see the CheckCode image,please refresh the page again!