链接框——使用简介
链接框 控件是一个窗口,用于呈现标记文本,并在用户单击其嵌入的超链接时通知应用程序。
此控件提供了使用 “命令链接”按钮的便捷替代方法。 每个 链接框 控件都可以支持多个超链接,并且可以通过从零开始的索引访问每个超链接。 链接框 控件需要一个清单或指令,指定应使用版本 6 的 DLL。链接标记 链接框 控件支持定位标记 (<>) 以及属性 HREF 和 ID。HREF 可以是任何协议 例如 http、ftp 和 mailto。ID 是可选名称,在 链接框 控件中是唯一的, 它与单个链接相关联。 还会根据链接在字符串中的位置为其分配从零开始的索引。 此索引用于访问链接。
链接属性 可以在每个链接的定位标记中设置每个链接的属性,也可以通过发送 链接修改属性 消息来设置。 通过在初始化字符串中指定属性来设置它只是初始化值。 可以通过后续使用 链接修改属性 消息来更改属性的值。
链接状态 链接项可以处于三种状态中的任何一种,由下表中的标志表示。
英文名称 | 数值 | 释义 |
LIS_FOCUSED | 1 | 链接具有键盘焦点,按 Enter 可激活它。 |
LIS_ENABLED | 2 | 链接已启用。 |
LIS_VISITED | 4 | 用户已访问链接表示的 URL。 |
双向文本显示的限制 某些语言(如阿拉伯语或希伯来语)在 RTL) (从右到左书写;英语采用从左到右 (LTR) 。 将 RTL 与 LTR 组合称为双向文本。 使用 链接框 控件时, 混合使用资源字符串中的 LTR 和 RTL 宽字 或 HTML 定向标记构造(作为用于控制字符串流的双向流标记) 可能不会产生预期结果。 在所有情况下,链接框控件都不支持双向显示。 仅当知道简单的 LTR 或 RTL 布局足够时,才使用 链接框 控件。 否则,请考虑使用更先进的技术。
使用 链接框 通知 以下示例代码演示如何处理当用户单击 上一示例中的两个链接之一时生成的 链接框 通知。 当用户单击 网址 时,关联的网页将在默认浏览器中打开。 当用户单击应用程序定义的超链接时,将显示一个消息框。
判断(消息) 为 控件事件 公共事件(数据) //调用公共事件这段程序代码,④数据:包含多项事件信息的数据 程序段 公共事件(数据) 整数 窗口=数据&,参数=.&4,事件=.&8,标识=.$28,链接=.$124 判断(事件)为 -2,-4 //控件单击左键 控件按下回车 信息框(0,链接,标识,信息图标) 结束
链接框——通知消息:
中文名字 | 常量数值 | 英文名称 | 释义 |
控件单击左键 | -2 | NM_CLICK | 用户在控件上点击了鼠标左键。④数据:链接通知类 |
控件按下回车 | -4 | NM_RETURN | 控件获得键盘焦点并按下回车键 |
发送消息——常数表 | |||
---|---|---|---|
链接是否点击 | 0x700 | LM_HITTEST | 确定用户是否单击了指定链接。③参数:0;④数据:链接点类 |
链接首选高度 | 0x701 | LM_GETIDEALHEIGHT | 检索控件当前宽度的链接的首选高度。③参数:0;④数据:0 |
链接修改属性 | 0x702 | LM_SETITEM | 设置项的状态和属性。③参数:0;④数据:链接项类 |
链接获取属性 | 0x703 | LM_GETITEM | 检索项的状态和属性。③参数:0;④数据:链接项类 |
链接框——控件样式:
中文名字 | 英文名称 | 数值 | 作用解释 |
背景透明 | LWS_TRANSPARENT | 1 | 背景混合模式是透明的。 |
忽略回车 | LWS_IGNORERETURN | 2 | 当链接具有键盘焦点且用户按 Enter 时,控件将忽略击键并将其传递给主机对话框。 |
显示&字符 | LWS_NOPREFIX | 4 | Windows Vista。 如果文本包含与号,则会将其视为文本字符,而不是快捷键的前缀。 |
当前样式 | LWS_USEVISUALSTYLE | 8 | Windows Vista。 链接以当前视觉样式显示。 |
绘制通知 | LWS_USECUSTOMTEXT | 16 | Windows Vista。 绘制控件时会发送 NM_CUSTOMTEXT 通知,以便应用程序可以动态提供文本。 |
向右对齐 | LWS_RIGHT | 32 | Windows Vista。 文本右对齐。 |
链接项类——数据结构:
中文名字 | 英文名称 | 长度 | 作用解释 |
链接项类 | LITEM | 4280 | 用于设置和检索有关链接项的信息。 |
链接项类——成员表 | |||
---|---|---|---|
中文 | 英文 | 类型 | 作用解释 |
掩码 | mask | 整数 | 标志的组合 |
序号 | iLink | 整数 | 控件链接的索引。掩码:1 |
状态 | state | 整数 | 1有键盘焦点,2启用链接,4已点击,8悬停突出,16定义颜色 |
标志 | stateMask | 整数 | 状态项的标志组合。与状态相同。掩码:2。 |
标识 | szID[96] | 文本 | 包含标识名称的宽字符串。掩码:4 |
链接 | szUrl[4168] | 文本 | 包含链接表示的URL的宽字符串。掩码:8 |
链接通知类——通知消息:
中文名字 | 英文名称 | 长度 | 作用解释 |
链接通知类 | NMLINK | 4292 | 包含链接通知信息。 |
链接通知类——成员表 | |||
---|---|---|---|
中文 | 英文 | 类型 | 作用解释 |
通知 | hdr | 通知类 | 包含有关通知的信息的类结构。 |
项目 | item | 链接项类 | 有关链接项的信息的类结构 |
链接点类——通知消息:
中文名字 | 英文名称 | 长度 | 作用解释 |
链接点类 | LHITTESTINFO | 4288 | 用于获取与给定位置对应的链接的相关信息。 |
链接点类——成员表 | |||
---|---|---|---|
中文 | 英文 | 类型 | 作用解释 |
左 | pt.x | 整数 | 有关链接项的信息的类结构 |
顶 | pt.y | 整数 | 命中测试的位置,以客户端坐标 (而不是屏幕坐标) 。 |
项目 | item | 链接项类 | 有关链接项的信息的类结构 |