skinhyperlink.h
来自「网狐棋牌(家园版)最新版本7.1.1源代码,共享组件源码」· C头文件 代码 · 共 164 行
H
164 行
#ifndef SKIN_HYPER_LINK_HEAD_FILE
#define SKIN_HYPER_LINK_HEAD_FILE
#pragma once
#include "SkinControls.h"
#include "SkinAttribute.h"
//////////////////////////////////////////////////////////////////////////
//属性名字
#define SKIN_LINK_CRHOVERTEXT TEXT("盘旋字体颜色") // COLORREF 类型 (读写)
#define SKIN_LINK_CRVISITEDTEXT TEXT("访问字体颜色") // COLORREF 类型 (读写)
#define SKIN_LINK_CRNORMALTEXT TEXT("正常字体颜色") // COLORREF 类型 (读写)
#define SKIN_LINK_CRBACKGROUND TEXT("字体背景颜色") // COLORREF 类型 (读写)
//列表类属性
class CSkinHyperLinkAttribute : public CSkinAttribute
{
friend class CSkinHyperLink;
//设置部分
public:
COLORREF m_crHoverText; //字体颜色
COLORREF m_crVisitedText; //字体颜色
COLORREF m_crNormalText; //字体颜色
COLORREF m_crBackColor; //背景颜色
//函数定义
protected:
//构造函数
CSkinHyperLinkAttribute();
//析构函数
virtual ~CSkinHyperLinkAttribute();
//接口函数
public:
//加载配置
virtual bool __cdecl LoadSkinOption();
//保存配置
virtual bool __cdecl SaveSkinOption();
};
//////////////////////////////////////////////////////////////////////////
//超连接类
class SKIN_CONTROL_CLASS CSkinHyperLink : public CStatic
{
//变量定义
protected:
bool m_bHovering; //盘旋标志
bool m_bVisited; //是否访问
bool m_bUnderline; //是否划线
bool m_bAutoAdjust; //自动调整
CString m_strURL; //连接地址
public:
COLORREF m_crBackColor; //背景颜色
COLORREF m_crHoverTextColor; //字体颜色
COLORREF m_crVisitedTextColor; //字体颜色
COLORREF m_crNormalTextColor; //字体颜色
//接口指针
protected:
IMouseEvent * m_pIMouseEvent; //鼠标事件
//控件变量
protected:
CToolTipCtrl m_ToolTip; //提示控件
//属性变量
public:
static CSkinHyperLinkAttribute m_SkinAttribute; //超连接属性
//函数定义
public:
//构造函数
CSkinHyperLink();
//析构函数
virtual ~CSkinHyperLink();
//配置函数
public:
//设置鼠标回调接口
void SetMouseEventSink(IUnknownEx * pIUnknownEx);
//获取鼠标回调接口
void * GetMouseEventSink(const IID & Guid, DWORD dwQueryVer);
//查询函数
public:
//获取调整
bool GetAutoAdjust() { return m_bAutoAdjust; }
//获取访问
bool GetVisited() { return m_bVisited; }
//获取下划线
bool GetUnderline() { return m_bUnderline; }
//获取 URL
LPCTSTR GetHyperLinkUrl() { return m_strURL; }
//设置函数
public:
//设置访问
void SetVisited(bool bVisited);
//设置下划线
void SetUnderline(bool bUnderline);
//设置调整
void SetAutoAdjust(bool bAutoAdjust);
//设置 URL
void SetHyperLinkUrl(LPCTSTR pszUrl);
//背景颜色
void SetBackGroundColor(COLORREF crColor);
//正常颜色
void SetNormalTextColor(COLORREF crColor);
//访问后颜色
void SetVisitedTextColor(COLORREF crColor);
//停靠颜色
void SetHoverTextColor(COLORREF crColor);
//重载函数
protected:
//控件子类化
virtual void PreSubclassWindow();
//消息解释
virtual BOOL PreTranslateMessage(MSG * pMsg);
//默认回调函数
LRESULT DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam);
//查询函数
public:
//获取属性接口
static CSkinHyperLinkAttribute * GetSkinAttribute() { return &m_SkinAttribute; }
//内部函数
protected:
//初始化
void InitHyperLink();
//更新提示
void UpdateToolTip();
//调整位置
void AdjustHyperLink();
//消息函数
protected:
//建立消息
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
//绘画消息
afx_msg void OnPaint();
//单击控件
afx_msg void OnStnClicked();
//鼠标移动
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
//光标消息
afx_msg BOOL OnSetCursor(CWnd * pWnd, UINT nHitTest, UINT message);
//鼠标离开
afx_msg LRESULT OnMouseLeave(WPARAM wparam, LPARAM lparam);
//标题消息
afx_msg LRESULT OnSetTextMesage(WPARAM wParam, LPARAM lParam);
DECLARE_MESSAGE_MAP()
DECLARE_DYNAMIC(CSkinHyperLink)
};
//////////////////////////////////////////////////////////////////////////
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?