Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];

Вниз

Drag&Drog группы элементов в ListBox   Найти похожие ветки 

 
leonidus   (2004-10-04 16:13) [0]

Мастера, подскажите советом, как в ListBox`е выделив группу элементов перетащить их в другое место списка? Делаю так:

procedure TForm7.ListBox1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
with (Sender as TListBox) do
Items.Move(ItemIndex,ItemAtPos(Point(x,y),True));
end;

procedure TForm7.ListBox1DragOver(Sender, Source: TObject; X, Y: Integer;
 State: TDragState; var Accept: Boolean);
begin
Accept:=(Sender=Source);
end;

этот код работает только для одного элемента даже если MultiSelect:=true, а как сделать тоже самое для нескольких выделенных элементов?


 
leonidus   (2004-10-04 22:28) [1]

Мастера, неужели никто не сталкивался с подобной проблемой?


 
Fay ©   (2004-10-04 22:31) [2]

Selected там есть, или уже совсем нету?


 
jack128 ©   (2004-10-04 22:34) [3]

leonidus   (04.10.04 16:13)
а чтоо ты хочешь, естественно - ты же перемещаешь только один итем

>with (Sender as TListBox) do
> Items.Move(ItemIndex,ItemAtPos(Point(x,y),True));

перемещай все итемы (в цикле, проверяя Selected[i]) и все будет ОК


 
leonidus   (2004-10-05 09:05) [4]

Да че-то не получается в цикле

procedure TForm7.ListBox1DragDrop(Sender, Source: TObject; X, Y: Integer);
var
i:integer;
begin
with (Sender as TListBox) do
begin
 for i:=0 to items.Count-1 do
  begin
   if Selected[i] then Items.Move(ItemIndex,ItemAtPos(Point(x,y),True));
  end;
end;
end;

в этом случае все равно двигается только один элемент...


 
Warlock ©   (2004-10-05 10:31) [5]

leonidus   (05.10.04 9:05) [4]

Это неверно. Принцип такой - определяй первый выделенный, а остальные смещай в цикле относительно его (те выделенного ItemIndex-a)


 
miwa ©   (2004-10-05 11:54) [6]

А попробуй-ка цикл сверху вниз, тоесть не for ... to a for i:=items.count-1 downto 1.


 
Warlock ©   (2004-10-05 12:01) [7]

Кстати, метод Items.Move ListBox-а сбрасывает свойство Selected, поэтому больше ничего не двигается.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.052 c
1-1096646043
Homa_Programer
2004-10-01 19:54
2004.10.17
Перенос текста на новую страницу...


1-1096359556
Zhekson
2004-09-28 12:19
2004.10.17
Сорторовка в DBGrid


1-1096466396
GH@ST
2004-09-29 17:59
2004.10.17
Как сделать сортировку в Excel


6-1091441323
Дмитрий Ботвин
2004-08-02 14:08
2004.10.17
UDP cканер сети


1-1096967239
Леонид
2004-10-05 13:07
2004.10.17
Точки останова и ошибка компиляции





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский