WTL CBitmapHyperLink 类






4.95/5 (9投票s)
从 CHyperLink 派生的类,在链接旁边显示位图,并允许鼠标悬停时改变颜色。
引言
WTL 包含一个 CHyperLink
类,用于创建超链接。该控件的主要特性是
- 超链接看起来像 IE 中的那样。
- 当鼠标移动到链接上时,光标会变成手型。
- 如果鼠标在链接上停留一段时间,将显示工具提示。
- 类
CHyperLink
也支持键盘接口。
但它不允许进行两件事,而这是我正在寻找的——在链接旁边显示位图,以及鼠标悬停时改变链接颜色。因此,我创建了类 CBitmapHyperLink
,它从 CHyperLink
派生,并允许您执行这些操作。
使用代码
要在您的应用程序中集成 CBitmapHyperLink
,首先需要将以下文件添加到您的项目中,如下所示
#include "BitmapHyperLink.h"
然后使用资源编辑器将静态控件添加到您的对话框中,并在您的对话框类中定义一个变量
CBitmapHyperLink m_Link;
在 OnInitDialog()
函数中添加以下行
LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) { ... m_Link.SetHyperLink(_T("http://www.google.com")); m_Link.SetLabel(_T("Looking for something?")); m_Link.SubclassWindow(GetDlgItem(IDC_STATIC_URL)); m_Link.SetExtendedStyle(HLINK_LEFTIMAGE | HLINK_UNDERLINEHOVER | HLINK_NOTOOLTIP); m_Link.SetLinkColor(RGB(0, 0, 0)); m_Link.SetVisitedColor(RGB(0, 0, 0)); m_Link.SetHoverColor(RGB(0, 0, 255)); HBITMAP hBmp = m_Link.AddBitmap(IDB_BITMAP); ATLASSERT(hBmp); ... return TRUE; }
历史
- 2005年1月18日 - 初始发布。
免责声明
本软件及其附带的文件按“原样”分发,不提供任何形式的保证,无论是明示的还是暗示的。对于可能造成的任何损害,概不负责。用户必须承担使用本软件的全部风险。