Главная страница
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.015 c
1-81836
sewix
2003-08-13 13:30
2003.08.25
Код комбинации клавиш «Ctrl+F»


1-81750
zzet
2003-08-09 11:58
2003.08.25
RxGIFAnimator


3-81567
Desdechado
2003-07-30 11:17
2003.08.25
DBLookupComboBox и его потомки


1-81613
Olegka
2003-08-13 09:44
2003.08.25
НЕзакрывающееся подменю главного меню


14-81907
Rel_
2003-08-06 10:18
2003.08.25
Связка Delphi - Builder