Главная страница
    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.45 MB
Время: 0.052 c
8-1090686879
fess
2004-07-24 20:34
2004.10.17
Компоненты для работы с графикой


1-1096820240
M-Alex
2004-10-03 20:17
2004.10.17
Command


1-1096889846
DelphiLexx
2004-10-04 15:37
2004.10.17
Для чего и как пользоваться оператором Inline


4-1095341999
AZiN
2004-09-16 17:39
2004.10.17
monitor


14-1096528393
WondeRu
2004-09-30 11:13
2004.10.17
Есть ли у кого "11 минут" Коэльо в электрическом виде?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский