在 SysLink 控件中显示 & 字符

Displaying the & character in SysLink control

我在 Win32 项目的对话框中有一个 SysLink 控件。我试图在其中显示 & 字符。例如:

SetWindowText(hyperlink, _T("<a>https://www.Whosebug/?a=1&b=2</a>"));

hyperlink 是我的 SysLink 控件的句柄。

问题是 & 没有显示在文本中。相反,我看到的是:

https://www.Whosebug/?a=1b=2

如何让这个控件显示 & 符号?

您需要转义符号 &&。否则它被解释为指示加速符。

默认情况下,& 字符被解释为快捷键的前缀。如果您不希望 SysLink 控件解释与符号字符,请传递 LWS_NOPREFIX SysLink Control Style when creating the SysLink control.

虽然和字符 可以 转义(通过在其前面加上另一个和字符作为前缀),它确实会更改控件内容。当 SysLink 控件呈现标记时,这通常不是预期的。