【发布时间】:2014-12-16 08:27:52
【问题描述】:
我遇到了组框文本的问题。我通过调用 EnableWindow(FALSE) 禁用了组框,问题是组框标题没有变灰。
谁能告诉我为什么会发生这种情况以及如何解决这个问题。
【问题讨论】:
-
更进一步 Michael Walz 下面所说的,您可以在父级中处理 WM_CTLCOLOR 并在禁用组框时返回灰色。
我遇到了组框文本的问题。我通过调用 EnableWindow(FALSE) 禁用了组框,问题是组框标题没有变灰。
谁能告诉我为什么会发生这种情况以及如何解决这个问题。
【问题讨论】:
这似乎是启用visual styles 时comctrl32.dll 中的错误。
我制作了一个非常简单的程序,它显示一个带有启用和禁用组框的对话框。如果没有视觉样式,禁用的组框会显示为灰色,但如果使用视觉样式则不会:
没有视觉样式的对话框:
使用视觉样式的相同对话框:
Windows 7 和 Windows XP 都遇到同样的问题,我没有检查过 Windows 8。恐怕我们不得不忍受这个问题。 唯一的可能是自己绘制组框。
【讨论】: