Results 1 to 1 of 1

Thread: VB6 - Activating Hyperlinks using InkEdit

  1. #1

    Thread Starter
    Frenzied Member
    Join Date
    Dec 2012
    Posts
    1,674

    VB6 - Activating Hyperlinks using InkEdit

    I found code that activated Hyperlinks with VB6 and a RichTextBox. If was far more complex than I wanted because it used subclassing. So I converted it to use an InkEdit box without subclassing. The underlining of the hyperlinks worked quite nicely, but passing the link to the browser did not work with the InkEdit Control.

    So I set out to simplify it and make the browser work. I was pleasantly surprised at how simple it turned out to be.
    Code:
    Option Explicit
    
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageW" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    Private 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
    
    Private Sub cmdEnable_Click()
        Const EM_AUTOURLDETECT = &H45B
        SendMessage txtMessage.hWnd, EM_AUTOURLDETECT, 1, ByVal 0
        txtMessage.SetFocus
    End Sub
    
    Private Sub Form_Load()
        txtMessage.Text = "Sample text with link." & vbCrLf & vbCrLf _
            & "https://www.us-cert.gov/ncas/alerts/TA17-318A" & vbCrLf & vbCrLf _
            & "J.A.Coutts" & vbCrLf
    End Sub
    Private Sub Timer1_Timer()
        Timer1.Enabled = False
        Debug.Print txtMessage.SelText
        ShellExecute 0&, "open", txtMessage.SelText, 0, 0, 1
    End Sub
    
    Private Sub txtMessage_DblClick()
        Timer1.Enabled = True
    End Sub
    Requirements: One form with, one InkEdit Control(txtMessage), one Command button (cmdEnable), and one Timer (Timer1) set to 20 ms and disabled. The InkEdit box should be multiline, IEM_disabled, with vertical Scrollbars.

    The above code comes complete with a sample hyperlink. Click the command button to underline the hyperlink with the default blue. Double Click the link to send it to your default browser. As with the Spell Check, it required a 20 ms delay to allow the hyperlink to be selected

    J.A. Coutts
    Attached Images Attached Images  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width