Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.11.25;
Скачать: CL | DM;

Вниз

Мультиудаление в 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.
Для ListBox
procedure 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 вся ветка

Текущий архив: 2007.11.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.052 c
15-1192964081
foreverDelphi
2007-10-21 14:54
2007.11.25
помогите начать раскручивать прогу


6-1174835725
Alek_1
2007-03-25 19:15
2007.11.25
Фаервол..с чего начать...??


3-1184223354
Alex13
2007-07-12 10:55
2007.11.25
Как связать 2 XML таблицы


2-1194215119
SveTTT
2007-11-05 01:25
2007.11.25
Условие на пустой грид


15-1193073294
БарЛог
2007-10-22 21:14
2007.11.25
В проигрывателе не играются некоторые DVD-диски