pavellyba Опубликовано 8 мая, 2017 Поделиться Опубликовано 8 мая, 2017 Создал класс объекта: type TNode = class(TListboxItem) FImage: TImage; FEdit: Tedit; Добавляю этот объект в ListBox listbox1.AddObject(Node); Вопрос - Как получить теперь доступ к этим объектам? Что-то типо Listbox1.Items[Listbox1.ItemIndex].Fedit.Text Цитата Ссылка на комментарий
0 pavellyba Опубликовано 8 мая, 2017 Автор Поделиться Опубликовано 8 мая, 2017 Сам нашел решение: (listbox1.ItemByIndex(listbox1.ItemIndex) as tnode).FEdit.Text Цитата Ссылка на комментарий
0 ENERGY Опубликовано 9 мая, 2017 Поделиться Опубликовано 9 мая, 2017 (изменено) Создаете свой стиль для ListBox (точнее редактируете на основе стандартного). Там можно все визуально настроить как на обычной форме. Указываете этот StyleBook форме. Имена объектов указываете в StyleName каждого объекта. Чтобы менять картинку просто указывая image index для ListBox Item'a (vItem.ImageIndex ) картинка TGlyph должна иметь имя 'glyphstyle'. Далее обращаетесь к ним по StyleName именам так: vItem.Text := vCampaign.Name; vItem.StylesData['descript'] := fCore.Settings.LoadCampaignDescr(vCampaign.Name); vItem.StylesData['details'] := ''; vItem.ImageIndex := 3; В моем случае descript и details - это TText. А вот так работать можно с любыми контролами: vItem.NeedStyleLookup; vItem.ApplyStyleLookup; // without this, FindStyleResource will return nil vSwitch := vItem.FindStyleResource('switch') as TSwitch; Assert(vSwitch <> nil); vSwitch.IsChecked := vCampaign.Enable; vSwitch.OnClick := DoOnClickCampaignSwitch; ну и на всякий случай: vItem := TListBoxItem.Create(nil); vItem.Parent:= Listbox; Listbox.AddObject(vItem); vItem.StyleLookup := 'CampaignItem'; Изменено 10 мая, 2017 пользователем ENRGY Равиль Зарипов (ZuBy) и Rusland 2 Цитата Ссылка на комментарий
Вопрос
pavellyba
Создал класс объекта:
type TNode = class(TListboxItem) FImage: TImage; FEdit: Tedit;
Добавляю этот объект в ListBox
listbox1.AddObject(Node);
Вопрос - Как получить теперь доступ к этим объектам?
Что-то типо Listbox1.Items[Listbox1.ItemIndex].Fedit.Text
Ссылка на комментарий
2 ответа на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.