在我们的项目中,我们使用了许多表单和控件。我们的一个表单显示了许多包含的控件。第一次显示表单时,所有控件都应该被禁用(有一个额外的“编辑”按钮)。
但我ComboBoxes
看起来他们已启用。它们的行为不是这样的——你不能点击它们,也不会触发任何事件。如果触发了绘制事件(例如调整窗口大小),它们实际上是正确绘制的。
此行为仅适用于 Windows 7,不适用于 Windows XP。我该怎么做才能正确绘制组合框?它不是每次都发生,所以我认为这不是我的组合框的问题... ...它也发生了一些组合框被正确绘制而其余的被绘制错误!
我能做些什么来避免这种情况?
更新:我刚刚发现只有在 Windows 7 中选择“经典”以外的另一个主题时才会发生这种行为。
我还通过 WindowMessages 对我进行了调试,发现某些消息丢失/未发送。我会告诉你不同的读数,但文件只有几百行:/
在经典中,一切都正确绘制。什么会导致这种行为?
UPDATE2:也许只是一点点更新——在我为整个应用程序激活双缓冲(在主窗体中使用 WS_EX_COMPOSITED)之后,行为不再存在。但这仍然很奇怪,不是吗?