Windows主题更改后TListView列命令错误

时间:2015-10-11 11:11:08

标签: delphi tlistview delphi-10-seattle

在Windows主题更改后,TListView的列内容变得不正确。我把它缩小到CM_RECREATE消息,这是当VCL重新创建TListView的窗口句柄以响应系统主题更改时。下面是一些说明问题的截图。

原始列表视图状态

here

最后一列被移动到第一个位置。一切都很好。

Initial list view state

Windows主题更改后,列位置会被保留,但内容不再正确

Col moved

目前,我通过在自定义CM_RECREATEWND处理程序中手动重新创建列来克服此问题。这是一个错误吗?它是重新创建列的好方法,还是有更好的方法?

我正在使用Delphi10,但在之前的版本中也观察到了相同的行为。

1 个答案:

答案 0 :(得分:2)

如果有人需要快速修复此错误,我会发布我的解决方法。只需将此单元作为表单使用列表中的最后一个使用单元包含在内。

{{1}}