Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 27.06.2008, 22:48
Аватар для timeless
timeless timeless вне форума
Прохожий
 
Регистрация: 27.06.2008
Сообщения: 36
Репутация: 12
По умолчанию Работа с ListBox

Как управлять элементами листбокс с помощью кнопок расположенных на форме? Например передвинуть один или несколько выделенных элементов кнопками "вверх" или "вниз", переместить элементы сразу вверх или вниз списка или удалить из списка.
Ответить с цитированием
  #2  
Старый 27.06.2008, 23:29
Ozerich Ozerich вне форума
Новичок
 
Регистрация: 11.04.2008
Адрес: В городе-герой Минск
Сообщения: 69
Репутация: 10
По умолчанию

Код:
ListBox1.ItemIndex:=ListBox1.ItemIndex+1;
Ответить с цитированием
  #3  
Старый 27.06.2008, 23:34
Аватар для Ferra
Ferra Ferra вне форума
Местный
 
Регистрация: 12.03.2006
Адрес: Минск
Сообщения: 527
Репутация: 1336
Восклицание

Цитата:
Сообщение от Ozerich
Код:
ListBox1.ItemIndex:=ListBox1.ItemIndex+1;


это сдвиг фокуса, но не Item-a
__________________
Нет повести печальнее на свете, чем повесть о заклиневшем Resete.
Ответить с цитированием
  #4  
Старый 28.06.2008, 00:11
Ozerich Ozerich вне форума
Новичок
 
Регистрация: 11.04.2008
Адрес: В городе-герой Минск
Сообщения: 69
Репутация: 10
По умолчанию

Цитата:
Сообщение от Ferra
это сдвиг фокуса, но не Item-a
Извиняюсь!
Вопрос не внимательно прочитал
Ответить с цитированием
  #5  
Старый 28.06.2008, 00:31
Аватар для timeless
timeless timeless вне форума
Прохожий
 
Регистрация: 27.06.2008
Сообщения: 36
Репутация: 12
По умолчанию

Спасибо! Все работает.
Как быть, если надо передвинуть несколько строк сразу?
Ответить с цитированием
  #6  
Старый 28.06.2008, 03:06
Аватар для timeless
timeless timeless вне форума
Прохожий
 
Регистрация: 27.06.2008
Сообщения: 36
Репутация: 12
По умолчанию

Еще вопросик. Как переименовать файл на диске, используя значение из элемента листбокса, в котором содержится полный адрес включая расширение.

Последний раз редактировалось timeless, 28.06.2008 в 03:39.
Ответить с цитированием
  #7  
Старый 27.06.2008, 23:32
Аватар для Ferra
Ferra Ferra вне форума
Местный
 
Регистрация: 12.03.2006
Адрес: Минск
Сообщения: 527
Репутация: 1336
Смущение

Переместить выделенный в конец
Код:
 if ListBox1.ItemIndex>0 then ListBox1.Items.Move(ListBox1.ItemIndex, ListBox1.Count-1);

в начало
Код:
 if ListBox1.ItemIndex>0 then ListBox1.Items.Move(ListBox1.ItemIndex, 0);

удалить
Код:
 if ListBox1.ItemIndex>0 then ListBox1.Items.Delete(ListBox1.ItemIndex);

вверх
Код:
if ListBox1.ItemIndex>0 then ListBox1.Items.Move(ListBox1.ItemIndex, ListBox1.ItemIndex-1);

вниз
Код:
if ListBox1.ItemIndex>0 then ListBox1.Items.Move(ListBox1.ItemIndex, ListBox1.ItemIndex+1);

это если фокус сохранять нужно (сдвиг вниз)
Код:
var
 i:Word;
begin
 if ListBox1.ItemIndex>0 then
   begin
   i:=ListBox1.ItemIndex;
   ListBox1.Items.Move(i, i-1);
   ListBox1.Selected[i-1]:=true;
   end;
end;
__________________
Нет повести печальнее на свете, чем повесть о заклиневшем Resete.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 11:25.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025