|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Проблемы с Listview
Доброго времени суток, уважаемые форумчане!
Проблема заключается в следующем. Есть список, каждый элемент которого содержит записи. Нужно вывести в Listview записи, допустим, с "названия книг", и если щелкнуть по какой-нибудь из их, то все элементы списка отобразятся в Memo. |
#2
|
|||
|
|||
Ну и... в чем проблема?
Ты хде это все хранишь? Я бы написал бы свои классики (а не записи). Тогда можно к элементу листвью "прицепить" (в св-во Data) ссылку на твои элементы списка. При выюоре какого-нить итема просто залезаем в это свойство и читаем из него данные и пихаем в мемо. Дешево и сердито ЗЫ. Кода там все-таки много писать для демонстрации... |
#3
|
||||
|
||||
Храню в глобальной переменной, если я правльно тебя понял.
Проблема как раз в том, чтобы перетащить элементы списка в переменную типа Tlistitem может и другого типа. С классами у меня туго, да и программа почти готова вот только это и осталось... |
#4
|
|||
|
|||
Клади в ListItem.Data указатль на свои структурки.
Код:
type TMyRecord = record // Твоя запись end; PMyrecord = ^TMyRecord; var V : Array [1..N] Of TMyRecord; // массив твоих записей procedure TForm1.AddItems; var I : Integer; AItem : TListItem; begin For I := Low(V) To High(V) Do Begin AItem := TListView1.Items.Add; AItem.Data := @V[i]; // Кажется так. ... end; procedure TForm1.ListView1Select(...); begin Memo1.Lines.Clear; If ListView1.Selected <> Nil Then Memo1.Lines.Add(PMyrecord(ListView1.Selected.Data).SomeStringField); end; |