Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

Web URL hot spot on a rich text box

Posted on 2000-05-18
4
247 Views
Last Modified: 2010-05-02
I have a rich text box which holds some text, including a URL (e.g. "www.yahoo.com"). Is it possible to make the mouse pointer change to a hand when the mouse is moved over this URL, and then control what happens when the user clicks on it?
0
Comment
Question by:mi5
  • 2
4 Comments
 

Expert Comment

by:Olli083097
ID: 2821313
This site has an example that you might find usefull!

http://www.vbexplorer.com/VB_String_Text.asp
0
 
LVL 28

Expert Comment

by:AzraSound
ID: 2821838
i wrote code for someone to do this but it assumed the url to begin with "http".  however it did function just like a hyperlink. heres a function to tell you what word you are over in a richtextbox, just check if the left three letters are "www" in your case:


'SEE WHAT WORD YOU ARE OVER IN RICHTEXTBOX CONTROL
'ADD A RICHTEXTBOX CONTROL AND A LABEL TO THE FORM
'************************************************************************
'
'FORM CODE
'
'************************************************************************

Private Const EM_CHARFROMPOS& = &HD7
Private Type POINTAPI
    X As Long
    Y As Long
End Type

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

' Return the word the mouse is over.
Public Function RichWordOver(rch As RichTextBox, X As Single, Y As Single) As String
    Dim pt As POINTAPI
    Dim pos As Integer
    Dim start_pos As Integer
    Dim end_pos As Integer
    Dim ch As String
    Dim txt As String
    Dim txtlen As Integer
    On Error Resume Next

    ' Convert the position to pixels.
    pt.X = X \ Screen.TwipsPerPixelX
    pt.Y = Y \ Screen.TwipsPerPixelY

    ' Get the character number
    pos = SendMessage(rch.hWnd, EM_CHARFROMPOS, 0&, pt)
    If pos <= 0 Then Exit Function

    ' Find the start of the word.
    txt = rch.Text
    For start_pos = pos To 1 Step -1
        ch = Mid$(rch.Text, start_pos, 1)
        ' Allow digits, letters, and underscores.
        If Not ( _
            (ch >= "0" And ch <= "9") Or _
            (ch >= "a" And ch <= "z") Or _
            (ch >= "A" And ch <= "Z") Or _
            ch = "_" _
        ) Then Exit For
    Next start_pos
    start_pos = start_pos + 1

    ' Find the end of the word.
    txtlen = Len(txt)
    For end_pos = pos To txtlen
        ch = Mid$(txt, end_pos, 1)
        ' Allow digits, letters, and underscores.
        If Not ( _
            (ch >= "0" And ch <= "9") Or _
            (ch >= "a" And ch <= "z") Or _
            (ch >= "A" And ch <= "Z") Or _
            ch = "_" _
        ) Then Exit For
    Next end_pos
    end_pos = end_pos - 1

    If start_pos <= end_pos Then _
        RichWordOver = Mid$(txt, start_pos, end_pos - start_pos + 1)
End Function

Private Sub Form_Load()
    RichTextBox1.Text = "Test this code sample to check what" & vbCrLf & _
        "word you are over inside the richtextbox control."
End Sub

Private Sub RichTextBox1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim txt As String

    txt = RichWordOver(RichTextBox1, X, Y)
    If Label1.Caption <> txt Then _
        Label1.Caption = txt
End Sub
0
 
LVL 6

Expert Comment

by:DrDelphi
ID: 2821892
There is a very good third party rich edit control called Alltext from Bennet-Tec Information systems that will allow you to do all of what you're asking. They have a demo download at :

http://www.bennet-tec.com

Good luck!!
0
 
LVL 28

Accepted Solution

by:
AzraSound earned 50 total points
ID: 2861205
submitting answer...if you still dont get it give me your email address and i'll my full app that does this
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction While answering a recent question about filtering a custom class collection, I realized that this could be accomplished with very little code by using the ScriptControl (SC) library.  This article will introduce you to the SC library a…
Have you ever wanted to restrict the users input in a textbox to numbers, and while doing that make sure that they can't 'cheat' by pasting in non-numeric text? Of course you can do that with code you write yourself but it's tedious and error-prone …
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

808 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question