![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по добавлению элементов
antonsha © (2009-11-10 12:04:00)В лист бокс можно загрузить элементы таким путём:
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 15:00:00) [1]
> 30 потоков которые могут писать в ListView
Не могут. Это недопустимо.
Обращения к визуальнымм VCL-контролам VCL-приложения допустимы толькоиз основногопотока.
> когда их работа будет закончина тогда отобразить в ListView
> всё что надо одним махом
На то существуют TListItens.Begin/EndUpdate.
antonsha (2009-11-10 14:53:00) [2]Разница в том что есть 30 потоков которые могут писать в ListView и обновлять UI или эти 30 потоков будут писать в лист итемс без обновления UI и когда их работа будет закончина тогда отобразить в ListView всё что надо одним махом.
Сергей М. (2009-11-10 14:46:00) [3]
> antonsha
А какая нафих разница, добавлять ли элементы по одному в цикле прямо в ListView.Items или копировать их разом из другого ListItems ?
antonsha (2009-11-10 14:35:00) [4]не катит :(
"Access violation on asdress ...."
Сергей М. (2009-11-10 14:30:00) [5]i:=TlistItems.Create(nil);
antonsha (2009-11-10 14:15:00) [6]var
i:TlistItems;
begin
i:=TlistItems.Create(ListView1);
i.Add.Caption:='aa';
end;
Работает, но проблема в том что мне надо создать сначала в этом листиетмс массив данных а потом весь массив загрузить в листвью,а получается что при каждом добавлении элемента в листитемс он сразу же отображается в листвью
Сергей М. (2009-11-10 12:07:00) [7]Нет, TStrings нельзя.
Но можно в качестве источника использовать TListItems