Adding Hyperlink Capability to RichText Boxes

王朝vb·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

Adding Hyperlink Capability to RichText Boxes

This tip show how to add hyperlinks into a RichTextBox. What you need to create is two classes that will interact with the RichTextBox.

The two classes are CHyperlink and CHyperlinks.

CHyperlink

CHyperLink is a simple Class that describes a hyperLink and has a method to open the URL it points to.

Properties:

LinkUrl

LinkText

Methods:

OpenLink

The LinkUrl property is a string containing the URL (for example: http://www.microsoft.com).

The LinkText property is a string containing the text shown in the RTF box (Click here to go to Microsoft).

The OpenLink methods use the ShellExecute API function to launch the default webbrowser and passes the URL to it.

CHyperLinks

CHyperLinks is a collection class. It contains a collection of CHyperLink objects. When you develop an application you only need to create an object of the CHyperLinks class. CHyperLinks also uses VB WithEvent keyword to "catch" the events of the RTF box that have the hyperlinks.

Properties:

Normal collection properties as Count, Item and NewEnum.

RichTextBox

Methods:

Add

Remove

The RichTextBox property is actually a RichTextBox object. You must set this object to a RichTextBox on a form.

The Add methods takes three arguments:

object.Add LinkText, LinkURL [, Key]

For example lets say you have a RichTextBox, named RichTextBox1, on a form and you want to add a hyperlink to VB-World to it. Then use this code:

Option Explicit

Private hlkLinks As New CHyperLinks

Private Sub Form_Load()

Set hlkLinks.RichTextBox = RichTextBox1

hlkLinks.Add "Go to VB-World", "www.vb-world.net"

End Sub

The Add method will add a CHyperLink object to the collection AND add the text "Go to VB-World" to the RichTextBox1 object. This text will be underlined and in the colour blue.

When you click on this hyperlink in the RTF box (you will not see a hand cursor) the CHyperLink will trap that event and open your browser and point it to VB-World.

The Remove method will only remove the hyperlink from the collection. It will not change the text in the RTF box.

You can add these two classes into any project or you can compile them into an ActiveX DLL.

Completed Hyperlink Demo Project

I have attached a project that show you how to use the classes. It is written in VB5. The zip file also includes two text files that contain the code of two classes that you can just cut and paste if you're not able to open the project.

Tip by Joacim Andersson

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航