|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Пара вопросов по TlistView
1. Как реализовать перетаскивание итемов?
2. Как сделать подстроку информарции ? Помогите кто может прозьба в гугл не посылать я там ничего ненашёл |
#2
|
||||
|
||||
Ответ на 1й вопрос ->
Производится перетаскивание 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; |