Introduction
For many years I have used Chris Maunder's excellent Hyperlink control. Recently I needed a hyperlink that would send a notification to the parent dialog. So I started by adding this feature, and then I found that I had added other features too. Here is a list of the new features:
- Parent notification - the parent window is optionally sent a notification message.
- New browser window - you can optionally tell the browser to open a new window (same as if you had held down SHIFT key).
- Background color - you can override default background color and set your own.
- Disable tooltip - you can optionally disable tooltips for the hyperlink. This makes sense where the hyperlink only sends a notification to the parent window, but does not navigate.
- Disable URL - optionally disable the URL. Again, this makes sense where the hyperlink only sends a notification to the parent window.
- Dynamic resizing - you can set new window text at any time and now the control will be resized.
- Use of
IDC_HAND
- the MFC hand cursor is used when it is available, before defaulting to the cursor from Winhelp.
GoToURL()
is now static - now you can say CXHyperLink::GoToURL("http://www.somedomain.com")
.
XHYPERLINK_REPORT_ERROR
define - by default this symbol is not defined, which will remove all the strings and message box from ReportError()
.
- Resource leak fixed - added
DestroyCursor(m_hLinkCursor)
that was suggested by Geert Delmeiren.
How to use
To integrate XHyperLink()
into your app, you first need to add following files to your project:
- XHyperLink.cpp
- XHyperLink.h
Then use the resource editor to add a static control to your dialog, and use Class Wizard to attach a member variable to that control. Note that when adding the static control, you must name it something other than IDC_STATIC
.
Next, include the header file XHyperLink.h in the dialog's header file. Then replace the CStatic
definition with CXHyperLink
. Now you are ready to start using XHyperLink
.
Demo app
The XHyperLinkTest.exe demo shows how to use CXHyperLink
. The first hyperlink sends an email:
The next hyperlink sends a notification to the parent dialog:
and the dialog displays a message box:
The last hyperlink shows how the text and URL may be dynamically changed:
Acknowledgments
Revision history
- Version 1.0 - 2003 October 17
Usage
This software is released into the public domain. You are free to use it in any way you like. If you modify it or extend it, please to consider posting new code here for everyone to share. This software is provided "as is" with no expressed or implied warranty. I accept no liability for any damage or loss of business that this software may cause.