Форум: "Основная";
Текущий архив: 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.049 c