显然,SysLink controls不能显示禁用。
我有一个包含以下控件的对话框(在此示例中坐标不准确):
CONTROL "Foo",IDC_CHECK8 "Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,
12,192,256,28
CONTROL "<a href=""https://www.somewhere.com"">Bar</a>",IDC_STATIC4,
"SysLink",0x0,22,219,144,9
当我使用EnableWindow()
禁用IDC_CHECK8
(复选框)和IDC_STATIC4
(SysLink控件)时,只有复选框显示为“禁用”外观,SysLink控件正常显示,就像它没有被禁用一样:
问题不在我的代码中,因为SysLink * 实际上 * 被禁用(您无法单击它,这是预期的)。
是否有一种简单的方法来显示禁用的SysLink控件,有点像这样:
1条答案
按热度按时间sigwle7e1#
你可以定义一个全局标志来控制颜色的变化。你可以使用
LM_SETITEM
来设置Syslink,使用LIS_DEFAULTCOLORS
来允许Syslink使用自定义颜色。然后你可以在WM_CTLCOLORSTATIC
中使用SetTextColor
来改变文本的颜色,这些都可以达到你想要的效果。