Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > TListView:: AddItem(...


Автор: SATYR 31.10.2005, 16:04
В TListView есть метод AddItem у которого второй параметр TObject*. После добавления AddItem("String", (TObject*)Obj), как его извлеч (Obj) для дальнейшего пользования и где в TListView он хранятся?

Автор: _hunter 31.10.2005, 16:15
ты, явно, что-то перепутал. у TListView:: AddItem() второй параметр -- индекс

Автор: Neitron 31.10.2005, 16:25
например можно вот так.
Код

        TListItem * ListItem = ListView->Items->Add();
        ListItem->Caption = AnsiString("text");

Автор: SATYR 31.10.2005, 17:39
Согласен можно, но мне нужно не это.

Цитата(_hunter @ 31.10.2005, 16:15)
ты, явно, что-то перепутал. у TListView:: AddItem() второй параметр -- индекс

[quote]

на что отвечу.

в СomCtrls.hpp
есть обьявление классов

class PASCALIMPLEMENTATION TListView : public TCustomListView
...
class PASCALIMPLEMENTATION TCustomListView
в public:
которого обьявлена
virtual void __fastcall AddItem(AnsiString Item, System::TObject* AObject);

Писано это не мной...
Следовательно думаю ничего попутать не мог.

Нашёл реализацию в классе smile
procedure TCustomListView.AddItem(Item: String; AObject: TObject);
begin
with Items.Add do
begin
Caption := Item;
Data := AObject;
end;
end;

Вопрос прежний smile
И есчо указанная в контексте функции Data-что это?
Предположение- свойство Data для ListItem-ов хранимых в Items? smile

Автор: _hunter 31.10.2005, 19:01
значит придется заниматься _взломом_ класса ( как это делать -- в поиске ) и получать что-то, у чего есть Objects ( посмотри по иерархии кто это )
где хранится -- ты уже увидел...

Автор: Vyacheslav 31.10.2005, 19:08
Код

TObject* data = (TObject*)ListView1->Items->Item[i]->Date;

Автор: SATYR 1.11.2005, 15:18
Народ подскажите почему программа может зависать намертво
привыполнении следующих строк кода в потоке .
(В Синхронайзе есессно)

TListItem* Elem=Items->Add(); //Тут виснет
Elem->SubItems->Add(Name);
Elem->SubItems->Add(Date);
Elem->Checked=true;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)