Главная страница
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.013 c
1-81633
sergg
2003-08-12 17:47
2003.08.25
Определение является ли строка числом


1-81816
Alex-21
2003-08-06 18:51
2003.08.25
Мерцание в TRichEdit и TListView


14-81896
Best Gun
2003-08-07 01:00
2003.08.25
О бездействии модераторов


7-81972
Nikel
2003-06-09 21:06
2003.08.25
COM порт


14-81914
Карелин Артем
2003-08-07 14:08
2003.08.25
А я на работе сейчас пиво пью.