| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 | ||
например можно вот так.
|
| Автор: SATYR 31.10.2005, 17:39 | ||
Согласен можно, но мне нужно не это.
[quote] на что отвечу. в СomCtrls.hpp есть обьявление классов class PASCALIMPLEMENTATION TListView : public TCustomListView ... class PASCALIMPLEMENTATION TCustomListView в public: которого обьявлена virtual void __fastcall AddItem(AnsiString Item, System::TObject* AObject); Писано это не мной... Следовательно думаю ничего попутать не мог. Нашёл реализацию в классе procedure TCustomListView.AddItem(Item: String; AObject: TObject); begin with Items.Add do begin Caption := Item; Data := AObject; end; end; Вопрос прежний И есчо указанная в контексте функции Data-что это? Предположение- свойство Data для ListItem-ов хранимых в Items? |
| Автор: _hunter 31.10.2005, 19:01 |
| значит придется заниматься _взломом_ класса ( как это делать -- в поиске ) и получать что-то, у чего есть Objects ( посмотри по иерархии кто это ) где хранится -- ты уже увидел... |
| Автор: Vyacheslav 31.10.2005, 19:08 | ||
|
| Автор: SATYR 1.11.2005, 15:18 |
| Народ подскажите почему программа может зависать намертво привыполнении следующих строк кода в потоке . (В Синхронайзе есессно) TListItem* Elem=Items->Add(); //Тут виснет Elem->SubItems->Add(Name); Elem->SubItems->Add(Date); Elem->Checked=true; |