Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.23;
Скачать: CL | DM;

Вниз

Drag & Drop in TListView   Найти похожие ветки 

 
Сатир ©   (2002-12-11 18:47) [0]

DragMode:= mdAutomatic
и обрабатываем 2 события: On DragOver и OnDragDrop
привожу исходники

procedure TForm1.ListView1DragDrop(Sender, Source: TObject; X,
Y: Integer);
begin
with (Sender as TListView) do begin
items.Item[itemIndex].SetPosition(Point(x,y));
end;
end;

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

перетаскивать удаётся, но бросить (drop) не получается.
Вывод:неправильно описана работа обработчика OnDragDrop.
Поскажите ошибку.

Заранее благодарен.


 
Сатир ©   (2002-12-11 20:14) [1]

any ideas?


 
Сатир ©   (2002-12-11 22:05) [2]

ладно, кое-как, с горем по полам, я нашёл решение, но есть подозрение на утечку памяти в обработчике OnDragDrop, а именно, при создании item2.
Насколько беспочвенны мои подозрения? И беспочвенны ли они вообще?
Привожу исходник

procedure TForm1.ListView1DragDrop(Sender, Source: TObject; X,
Y: Integer);
var item, item2:TListItem;
begin
with (Sender as TListView) do begin
item:=GetItemAt(x,y);
if item=nil then item:=items.Item[items.Count-1];
item2:=TListItem.Create(items);
item2.Assign(Selected);
Selected.Assign(item);
item.Assign(item2);
end;
end;


 
Сатир ©   (2002-12-12 13:33) [3]

Мастера! Ну скажите хоть что-то! Пожа-а-а-а-а-луйста


 
Игорь Шевченко ©   (2002-12-12 13:40) [4]

Есть замечательная статья MBo про drag"n"drop. В разделе "статьи".
Погляди.



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

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

Наверх




Память: 0.47 MB
Время: 0.014 c
14-74918
carmen
2002-12-01 08:56
2002.12.23
Нужен компонент для работы с Excel (без установки Excel)


1-74690
Fernis
2002-12-13 04:32
2002.12.23
Свой коллекшен айтем...


3-74617
TVV
2002-12-05 13:02
2002.12.23
Blob поля через IBQuery запрос


1-74799
oss
2002-12-11 13:22
2002.12.23
BPL (часть 3)


1-74686
viper
2002-12-13 12:18
2002.12.23
Проблема с переносами!