Вниз
Скачать: CL | DM;

DragDrop в ListView   Найти похожие ветки 

 
Kolya   (2006-01-16 11:31) [0]

Есть такой код:


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

procedure TForm1.ListView1DragDrop(Sender, Source: TObject; X,
 Y: Integer);
var i,i1: integer; li1, li2: TListItem;
begin
 li1:=(Sender as TListView).GetItemAt(X,Y);
 If Sender=ListView1 then
  begin
 if li.Index>li1.Index then
  begin
   i1:=pred(ListView1.Items.Count);
   For i:=0 to i1 do
    If ListView1.Items[i].Selected then
     begin
      li2:=ListView1.Items[i];
       If li1=nil then
         li1:=ListView1.Items.Add;
       else
         li1:=ListView1.Items.Insert(li1.Index);
      li1.Caption:=li2.Caption;
      li1.SubItems.Add(li2.SubItems[0]);
      li1.SubItems.Add(li2.SubItems[1]);
      li1.Selected:=true;
      li2.Delete;
     end;
  end else
   begin
   i1:=pred(ListView1.Items.Count);
   For i:=i1 downto 0 do
    If ListView1.Items[i].Selected then
     begin
      ListView1.Items[i].Selected:=false;
      li2:=ListView1.Items[i];
       If li1=nil then
        li1:=ListView1.Items.Add
       else
        li1:=ListView1.Items.Insert(li1.Index);
      li1.Caption:=li2.Caption;
      li1.SubItems.Add(li2.SubItems[0]);
      li1.SubItems.Add(li2.SubItems[1]);
      li1.Selected:=true;
      li2.Delete;
     end;
    end;
  end;
end;


Меня интересуют два вопроса:
- можно ли увеличить быстродействие;
- почему при перетаскивании снизу вверх итемы располагаются в обратном порядке: например, те, что были последними среди выделенных, становятся первыми?


 
Kolya   (2006-01-17 12:33) [1]

Кто-нибудь хоть видел этот вопрос? Если ответить сложно, то это хоть дайте знать.



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.041 c
2-1138107504
stels
2006-01-24 15:58
2006.02.12
проверка Edit на пустоту


15-1137841026
Andy BitOff
2006-01-21 13:57
2006.02.12
Borland Developer Studio


15-1138080476
Antip
2006-01-24 08:27
2006.02.12
Пишется ли в exe-шник лицензионная инфа о Delphi?


2-1138082942
Andruh
2006-01-24 09:09
2006.02.12
проблема с выводом в мемо


15-1137442466
Гарри Поттер
2006-01-16 23:14
2006.02.12
Рисовалки




   Наверх