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

Вниз

Мастера вот в статьях есть пример DragDrop для ListViw   Найти похожие ветки 

 
Vt   (2003-08-11 08:09) [0]

я его немного изменил так как нужно вести перенос только
в один ListViw
Начну с кода
procedure TForm1.ListView1DragDrop(Sender, Source: TObject; X, Y: Integer);
var
Item, CurItem: TListItem;
begin
CurItem := ListView1.Selected;
Item := ListView1.GetItemAt(x, y);
if Item <> nil then
Item := ListView1.Items.Insert(Item.Index)
else
Item := ListView1.Items.Add;
Item.Assign(CurItem);
CurItem.Free;
end;

//Здесь заперетил перенос если итемов менее 2
procedure TForm1.ListView1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
If ListView1.Items.Count<2 Then Accept:=False;
end;
Вопрос в том что этот код в моем случае не работает
например беру любую строку тащу а она все время добавляется во вторую строчку, после добавления перенос вообще не работает, чтобы не изобретать велосипед подскажите где я маху дал или может есть пример.


 
Vt   (2003-08-11 09:18) [1]

Уточню
после добавления перенос вообще не работает
работает.

например беру любую (последнюю меняю с предпоследней)строку тащу а она все время добавляется во вторую строчку из-за Item.Assign(CurItem);


 
Vt   (2003-08-11 09:51) [2]

Вообщето я написал обработчик DragDrop простой сменой Caption,ImageIndex и величин Чекетов, но все же хотелось услышать мнение мастеров почему код выше не работает.


 
Семен Сорокин ©   (2003-08-11 10:28) [3]

2Vt
так ты присваивай объект на OnDragOver, а не на OnDragDrop.

procedure TForm1.ListView1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
var
Item, CurItem: TListItem;
begin
Accept := ListView1.Items.Count>1;
if Accept then begin
CurItem := ListView1.Selected;
Item := ListView1.GetItemAt(x, y);
if Assigned(Item) then
Item := ListView1.Items.Insert(Item.Index)
else
Item := ListView1.Items.Add;
Item.Assign(CurItem);
CurItem.Free
end
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.027 c
9-81521
anatoly1
2003-02-24 02:22
2003.08.25
Как выполнить иницыализацию двумерного массива


3-81564
sergio_serg
2003-07-30 17:56
2003.08.25
Алиас


11-81601
Romaizdurdoma
2002-12-05 22:02
2003.08.25
Куда делись хинты в КОЛе


14-81935
mfender
2003-08-08 19:02
2003.08.25
Существует ли компонент наподобие графика мероприятий в Outlook e


1-81636
Patrick
2003-08-12 13:10
2003.08.25
D5 to D7