如果我CMFCLinkCtrl
以编程方式创建一个控件并在构造函数中分配文本,一切都很好。但如果我随后尝试将 URL 更改为其他内容,它不会在视觉上更新。根据它的文档指出SetURL
:
将指定的 URL 显示为按钮文本。
但是,当您查看该控件的底层 MFC 源代码时,它所做的只是:
void CMFCLinkCtrl::SetURL(LPCTSTR lpszURL)
{
if (lpszURL == NULL)
{
m_strURL.Empty();
}
else
{
m_strURL = lpszURL;
}
}
调用UpdateWindow();
或Invalidate();
控制没有任何区别。然后我意识到 IDE 有两个属性:
对于标题是这样的:
指定控件显示的文本。
对于URL,它指出:
指定链接控件的 url 字符串。
最后我简单地这样做了:
m_linkStatusbarLocalCong.SetURL(strCongregation);
m_linkStatusbarLocalCong.SetWindowText(strCongregation);
现在工作正常。我在阅读文档时错过了什么吗?