关于 SysLink 控件

SysLink 控件是一个窗口,可呈现标记文本,并在用户单击其嵌入的超链接时通知应用程序。 此控件为使用命令链接按钮提供了一种方便的替代方案。 有关详细信息,请参阅按钮类型

每个 SysLink 控件可支持多个超链接,并且可以通过从 0 开始的索引来访问每个超链接。 SysLink 控件是在 ComCtl32.dll 版本 6 中定义的,它需要一个清单或指令,以指定如果 DLL 版本 6 可用,则应使用该版本。 有关详细信息,请参阅启用视觉样式

本文包含以下各节。

SysLink 控件支持定位标记 (<a>) 以及属性 HREFIDHREF 可以是任何协议,如 http、ftp 和 mailto。 ID 是一个可选名称,在 SysLink 控件中是唯一的,并且它与单个链接相关联。 链接也会根据其在字符串中的位置分配一个从 0 开始的索引。 此索引用于访问链接。

每个链接的属性可以在每个链接的定位标记中设置,也可以通过发送 LM_SETITEM 消息来设置。 如果通过在初始化字符串中指定属性来设置属性,这样只是初始化了属性值。 可以通过随后使用 LM_SETITEM 消息来更改属性值。

链接项目可以处于下表中标志所示的三种状态中的任何一种。

状态标志 外观和含义
LIS_FOCUSED 该链接具有键盘焦点,按下 Enter 即可将其激活。
LIS_ENABLED 链接已启用。
LIS_VISITED 用户已访问链接所表示的 URL。

 

双向文本显示的限制

有些语言(如阿拉伯语或希伯来语)是从右到左书写的 (RTL);而英语是从左到右书写的 (LTR)。 将 RTL 与 LTR 结合起来称为双向文本。 在资源字符串中混合使用 LTR 和 RTL Unicode 或 HTML 方向标记结构作为双向流标记来控制字符串的方向,这在使用 SysLink 控件时可能不会达到预期的结果。 例如,LTR 标记的句子在 RTL 上下文中可能无法正确显示。

注意

在所有情况下,SysLink 控制器都不支持双向显示。 只有在知道简单的 LTR 或 RTL 布局已经足够的情况下,才能使用 SysLink 控件。 否则,请考虑使用更高级的技术,如 MSHTML