Форум: "KOL";
Текущий архив: 2007.11.25;
Скачать: [xml.tar.bz2];
ВнизМультиудаление в ListBox Найти похожие ветки
← →
Ned © (2007-05-06 19:05) [0]Добрый день!
Пытаюсь организовать удаление сразу нескольких строк в ListBox. loMultiLine - включён (хотя мультивыделение работало и до этого). Пользуюсь вот таким кодом:
procedure TForm1.ListBox1KeyDown(Sender: PControl; var Key: Integer;
Shift: Cardinal);
begin
if Key = VK_DELETE then
ListBox1.DeleteLines(ListBox1.SelStart, ListBox1.SelStart+ ListBox1.SelLength);
end;
Но он совешенно не хочет работать! Пр выделении нескольких строк и нажатии Delete почему-то выделяется первая строка, но удаления не происходит! Даже если вместо параметров написать просто (2,5), то и в этом случае строки остаются.
В чём ошибка?
Заранее спасибо!
← →
Дмитрий К (2007-05-06 20:12) [1]DeleteLines только для edit, memo, richedit.
Для ListBoxprocedure Delete( Idx: Integer );
← →
Compiler © (2007-05-06 21:48) [2]
procedure TForm1.ListBox1KeyDown(Sender: PControl; var Key: Integer;
Shift: Cardinal);
var
i:integer;
begin
i:=0;
if key=vk_Delete then
while i<>Listbox1.Count do
if Listbox1.ItemSelected[i] then
Listbox1.Delete(i) else Inc(i);
end;
Если выделенных строк много выполнеятся значительное время. Не оптимально, зато работает.
← →
Ned © (2007-05-07 06:18) [3]Compiler, Дмитрий, большое спасибо! Сделаю через for :)
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2007.11.25;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.042 c