Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > TListBox


Автор: Martisha 15.10.2008, 13:40
подскажите пожалуйста, как сделать так, чтобы новые строки в ListBox-е выводились начиная сверху, а не отправлялись в самый конец ListBox-a 

Автор: Rennigth 15.10.2008, 13:48
Цитата(Martisha @  15.10.2008,  13:40 Найти цитируемый пост)
подскажите пожалуйста, как сделать так, чтобы новые строки в ListBox-е выводились начиная сверху, а не отправлялись в самый конец ListBox-a  

Код

ListBox.Items.Insert(0, 'text');

Автор: morpheyushka 15.10.2008, 14:10
Цитата(Rennigth @  15.10.2008,  13:48 Найти цитируемый пост)
Выделить всёкод Pascal/Delphi
ListBox.Items.Insert(0, 'text');


А я бы сделал так:

Код

ListBox.Items.BeginUpdate;
ListBox.Items.Insert(0, 'text');
ListBox.Items.EndUpdate;


Автор: Rennigth 15.10.2008, 14:19
morpheyushka
для одного Item-а? Зачем?

Автор: morpheyushka 15.10.2008, 14:49
Цитата(Rennigth @  15.10.2008,  14:19 Найти цитируемый пост)
для одного Item-а? Зачем? 

Ну нигде не говорилось о том, что вставляться будет один итем

Я точно не уверен на счет ListBox, но вот в ListView если работать с итемами и под итемами (не просто их отображать), и не делать BeginUpdate - EndUpdate, то можно схватить ошибку

А вобще береженого бог бережет smile 

Автор: Christoph 15.10.2008, 15:25
Код

ListBox1.Items.Move(ListBox1.Items.Add('text'),0);

Автор: Poseidon 15.10.2008, 15:37
Цитата(morpheyushka @  15.10.2008,  14:49 Найти цитируемый пост)
вот в ListView если работать с итемами и под итемами (не просто их отображать), и не делать BeginUpdate - EndUpdate, то можно схватить ошибку
Ошибку??? Ты хоть знаешь что делает BeginUpdate и EndUpdate? Если уже и будет ошибка, то это тебя не спасет точно.

Автор: morpheyushka 15.10.2008, 15:50
Цитата(Poseidon @  15.10.2008,  15:37 Найти цитируемый пост)
Ты хоть знаешь что делает BeginUpdate и EndUpdate?

Если не сложно, можно в двух словах? smile 

Автор: Christoph 15.10.2008, 16:50
http://www.az-design.ru/Support/SoftWare/Delphi/D3/SB25BeginUpdate.shtml

BeginUpdate, EndUpdate наверное нет смысла использовать для одного итема  smile 

Автор: Rennigth 15.10.2008, 18:04
Цитата(morpheyushka @  15.10.2008,  15:50 Найти цитируемый пост)
Если не сложно, можно в двух словах?   

BeginUpdate/EndUpdate это методы класса TStrings, BeginUpdate блокирует вызов метода Changed, что не позволяет вызываться методу Update. EndUpdate снимает эту блокировку и вызывает метод Changed. Для одной операции нет смысла вызывать BeginUpdate/EndUpdate, т.к. и с ними и без вызоветься Update только один раз.

Автор: Martisha 16.10.2008, 07:22
Всем спасибо, все получилось  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)