Форум: "Основная";
Текущий архив: 2011.06.19;
Скачать: [xml.tar.bz2];
ВнизВопрос по добавлению элементов Найти похожие ветки
← →
antonsha (2009-11-10 12:04) [0]В лист бокс можно загрузить элементы таким путём:
var
i:TStringList;
begin
i:=TstringList.Create;
i.Add("s");
i.Add("s2");
i.Add("s3");
Listbox1.Items:=i;
i.Free
Интересует можно ли каким-то образом добавить также массив элементов в ListView.
Имелось в виду то в Лист Бокс сразу загружается весь массив стринг листа надо чтоб также добавлялось в Listview
← →
Сергей М. © (2009-11-10 12:07) [1]Нет, TStrings нельзя.
Но можно в качестве источника использовать TListItems
← →
antonsha (2009-11-10 14:15) [2]var
i:TlistItems;
begin
i:=TlistItems.Create(ListView1);
i.Add.Caption:="aa";
end;
Работает, но проблема в том что мне надо создать сначала в этом листиетмс массив данных а потом весь массив загрузить в листвью,а получается что при каждом добавлении элемента в листитемс он сразу же отображается в листвью
← →
Сергей М. © (2009-11-10 14:30) [3]i:=TlistItems.Create(nil);
← →
antonsha (2009-11-10 14:35) [4]не катит :(
"Access violation on asdress ...."
← →
Сергей М. © (2009-11-10 14:46) [5]
> antonsha
А какая нафих разница, добавлять ли элементы по одному в цикле прямо в ListView.Items или копировать их разом из другого ListItems ?
← →
antonsha (2009-11-10 14:53) [6]Разница в том что есть 30 потоков которые могут писать в ListView и обновлять UI или эти 30 потоков будут писать в лист итемс без обновления UI и когда их работа будет закончина тогда отобразить в ListView всё что надо одним махом.
← →
Сергей М. © (2009-11-10 15:00) [7]
> 30 потоков которые могут писать в ListView
Не могут. Это недопустимо.
Обращения к визуальнымм VCL-контролам VCL-приложения допустимы только из основного потока.
> когда их работа будет закончина тогда отобразить в ListView
> всё что надо одним махом
На то существуют TListItens.Begin/EndUpdate.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2011.06.19;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.003 c