Текущий архив: 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.45 MB
Время: 0.039 c