创建超链接静态控件(概述方法)
来源:互联网 发布:marmot山地自行车知乎 编辑:程序博客网 时间:2024/05/29 13:21
创建超链接静态控件
步骤 1
创建一个新类CLinkStatic,设置基类为CStatic。
步骤 2
为新类添加成员变量
COLORREF m_textcr //文本颜色
CFont m_font; //记录连接控件文本的字体
LOGFONT m_lf; //逻辑字体
HCURSOR m_handcur //手型鼠标句柄
CBrush m_brush; //设置控件画刷
CString m_linkurl; //超链接地址
BOOL m_bmouseover //鼠标是否在连接上,用来设置是否有下划线
BOOL m_bLink; //是否显示为超链接
步骤 3
添加成员函数
void SetLink(BOOL bLink);
void SetLinkUrl(CString url);
void SetFontUnderline(BOOL bSet=FALSE);
void SetTextColor(COLORREF crText);
void SetFont(int nFont); //设置字体大小
每个成员函数实现过程中都要加上控件重绘命令 RedrawWindow()来实现控件的重绘;
在SetLinke()函数中,要调用ModifyStyle()函数,是静态控件能够接受和发送消息。
步骤 4
为新类添加消息响应函数
WM_MOUSEMOVE 鼠标移动时设置计时器SetTimer(1,10,NULL)
WM_TIMER 判断鼠标是否在在控件上,一次来设置m_bmouseover的值
WM_SETCURSOR 当鼠标在控件上时,载入手型光标
WM_LBUTTONDOW 鼠标左键按下,如果m_bmouseover为真,执行超链接
=WM_CTLCOLOR 在其中设置控件的字体,颜色和模式(与WM_CTLCOLOR区别开)这里是关键
步骤 5
在要是用超链接静态控件的类的头文件中加入静态控件的定义(修改一个控件的ID为IDC_LINKSTATIC之后,才能在WinWizard中设置关联,并且只能设置一个。不知道为什么?)
之后,会有显示 CLinkStatic m_static1;
若有多个超链接标签,可能就需要手动添加,如:CLinkStatic m_static2;
并且在所要加入的类中的DoDataExchange中加入
DDX_Control(pDX, IDC_LINKSTATIC, m_static2);
步骤 6
在类的实现过程中,调用成员函数实现对连接标签的初始化即可。
要点:
1.每个成员函数实现过程中都要加上控件重绘命令 RedrawWindow()来实现控件的重绘;
2.在SetLinke()函数中,要调用ModifyStyle()函数,是静态控件能够接受和发送消息
3.使用=WM_CTLCOLOR消息来改变控件的样式,而不能用WM_CTLCOLOR
4.在实现过程中,可以在WM_CTLCOLOR中使用hbr=pDC->GetStockObject(NULL_BRUSH)来设置控件背景画刷为空,以达到和主窗口背景融合一体的效果。
- 创建超链接静态控件(概述方法)
- 超链接静态控件(部分代码)
- 静态控件设置为超链接
- 带超链接的循环滚动静态控件
- 使用静态文本控件制作超链接
- 从静态框派生的超链接控件
- MFC静态文本控件设置超链接
- extJs displayfield控件显示超链接的方法
- 实现静态文本超链接的方法及静态文本颜色
- win32 控件之 sysLink控件(超链接)
- 创建静态页面方法
- 【转】用MFC实现静态文本超链接的方法
- 用MFC实现静态文本超链接的方法
- 用MFC实现静态文本超链接的方法
- 使用CHyperLink类为静态文本添加超链接的方法
- 第三章:超链接概述
- asp.net超链接控件(HyperLink)
- 类方法创建控件
- CCNA实验二十一 IGRP路由协议
- c语言中的转义字符
- Ubuntu 10.10安装cairo-dock
- 关于Linux操作系统的开机过程详解
- windows下配置emacs
- 创建超链接静态控件(概述方法)
- bresenham画圆算法
- 早年的J2EE笔记
- bresenham画圆算法
- 相互思念
- 微博营销方式总结
- 硬件配置与管理
- 操作系统概念
- MFC Windows应用程序设计(二)——应用程序的结构