我在Windows窗体上有一个包含966个元素的TListBox。当我单击表单上的按钮时,会选择这些字符串的子集(大约200个)。
如果我现在通过单击任务栏上的某个位置来取消我的应用程序的聚焦,我的TListBox中的条目会向上渗透,因此它们在TListBox的边界上方可见。值得庆幸的是,它们正好位于它们正上方的TGroupBox组件后面 - 但是这仍然看起来极其粗糙。
我只能在使用Aero主题的一台Win 7 x64机器上重现这一点(我是另一台Win 7 x64笔记本电脑,它在相同的主题设置下没有出现同样的问题)。
我已经尝试在更改选择状态后直接发出PostMessage(Self.Handle,WM_PAINT,0,0),前面是ListBox.Refresh。这没有用。
非常感谢任何帮助。如果您需要更多详细信息,请告知。
干杯,邓肯
答案 0 :(得分:-1)
您使用的是XPManifest设备,还是为您的应用启用了主题?如果是这样,请尽量不使用它来查看会发生什么。如果你没有好的视频卡,可能会非常糟糕。
我的2美分?完全避免使用主题。它很简单并不能很好地工作。