![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
1. Как реализовать перетаскивание итемов?
2. Как сделать подстроку информарции ? Помогите кто может прозьба в гугл не посылать я там ничего ненашёл ![]() |
|
#2
|
||||
|
||||
|
Производится перетаскивание Item'ов между 2-мя TListView.
В момент начала перетаскивания (событие StartDrag) запоминается, какой Item хотим перетащить (TListView(Sender).Selected), после переноса DragDrop производим перенос. Проблема в том, что в качестве перетаскиваемого не всегда определяется нужный Item, может попасть, например, следующий, над которым перетаскивали (при быстром перетаскивании). Как точно определить Item, который перетаскиваем? Код:
procedure TForm.LView1StartDrag(Sender: TObject;
var DragObject: TDragObject);
begin
if LView1.Focused then
gDragItem:=LView1.Selected
else
gDragItem:=LView2.Selected;
end;Код:
procedure TForm.LView1DragDrop(Sender, Source: TObject; X, Y: Integer);
var lLI: TListItem;
begin
lLI:=TListView(Sender).Items.Add;
lLI.Caption:=gDragItem.Caption;
lLI.ImageIndex:=gDragItem.ImageIndex;
gDragItem.Delete;
TListView(Sender).SetFocus;
lLI.Selected:=true;
end; |