Главная страница
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.048 c
15-1137733833
begin...end
2006-01-20 08:10
2006.02.12
С Днём рождения! 20 января


15-1137754436
Piter
2006-01-20 13:53
2006.02.12
404 Not Forund


2-1138275738
Андр
2006-01-26 14:42
2006.02.12
Как преобразовать строку из UTF-8 в WIN-1251


15-1137394603
Nic
2006-01-16 09:56
2006.02.12
Чё-то с погодой не то...


2-1137662162
tigra
2006-01-19 12:16
2006.02.12
Непонятка с exeшником