Это ошибка в элементе управления Delphi, которую я воспроизвел.Я еще не уверен, что вызывает ошибку.Я отправил это в Quality Central как QC # 101104 .
. Я нашел простой обходной путь, добавив следующий код к событию OnShow
формы.
ListView1.Align := alNone;
ListView1.Align := alClient;
Для демонстрации проблемы достаточно следующего файла DFM:
object MyForm: TMyForm
Left = 0
Top = 0
ClientHeight = 300
ClientWidth = 635
object ListView1: TListView
Left = 200
Top = 96
Width = 250
Height = 150
Align = alClient
Columns = <
item
Caption = 'Column'
end>
Groups = <
item
Header = 'Group header'
GroupID = 0
end>
Items.ItemData = {
052A0000000100000000000000FFFFFFFFFFFFFFFF0000000000000000000000
000854006800650020006900740065006D00}
GroupView = True
ViewStyle = vsReport
end
end
Оказывается, что другим способом решения проблемы является перемещение записи ViewStyle
в файле DFM, чтобы она появиласьдо записи Items
.Так что еще один обходной путь для этой проблемы - добавить элементы во время выполнения.Фактически это, вероятно, объясняет, почему эта ошибка не была обнаружена, так как я уверен, что подавляющее большинство кода представления списка добавляет элементы во время выполнения.