Показать сообщение отдельно

  #11  
Старый 12.12.2009, 17:49
StealthMaster
Познающий
Регистрация: 03.12.2008
Сообщений: 56
С нами: 9176827

Репутация: 29
По умолчанию

Цитата:
Сообщение от DimkO  
Цитата:
Сообщение от mobilka  
подскажите как сделать автопрокрутку в listbox.
если я правильно понял,то в listbox есть свойство listbox1.ScrollWidth :integer;потом уже сам подгоняеш под длину строки,а вертикальная появляется сама
ScrollWith - это логическая ширина списка, от которой зависит появится горизонтальная полоса прокрутки или нет.

Как я понимаю, просили не отобразить полосы прокрутки, а показать как сделать так, чтобы при добавлении нового элемента он был виден за счет прокрутки.

Не знаю насколько такое решение грамотно, но можно при добавлении элемента в ListBox изменять свойство TopIndex (первая сверху отображаемая строчка) на индекс последней строки.

Код:
procedure AddListBoxItem;
var
  data: string;
begin
  { здесь производятся нужные действия для формирования строки, 
    которая будет добавлена }
  ListBox1.add(data);
  ListBox1.TopIndex := ListBox1.Items.Count -1;
end;
В принципе все прокрутится Хотя стоило бы наверное от индекса последней строки отнимать количество отображаемых строк.
 
Ответить с цитированием