Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.12;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.043 c
4-1133121307
sergey1
2005-11-27 22:55
2006.02.12
что нужно сделать чтобы DlgDirList выводил еще и файлы


2-1137993984
Аноним
2006-01-23 08:26
2006.02.12
Помогите с ListBox


1-1137063029
Ega23
2006-01-12 13:50
2006.02.12
Как узнать ParentFont?


2-1138016256
Стелс
2006-01-23 14:37
2006.02.12
Считывание системного времени в формат TDateTime


2-1138274042
Ell
2006-01-26 14:14
2006.02.12
Ошибка при попытке записи на read-only диск