Я пытаюсь добавить TEdit
контроль к TListView
контроль во время выполнения. Я хочу воспитывать TEdit
управление выбранным TListViewItem
принадлежащий моему TListView
Однако я не могу найти способ сделать это.
Первоначально я попробовал это:
TEdit * MyEdit = new TEdit( this );
MyEdit->Parent = MyListView->Selected;
Тем не менее, это дает мне следующую ошибку:
[bcc32 Ошибка] E2034 Невозможно преобразовать TListViewItem * в TFmxObject *.
По какой-то причине я попытался типизировать выбранный элемент в моем списке как TFmxObject
вот так:
MyEdit->Parent = (TFmxObject *)MyListView->Selected;
Хотя это скомпилировано, это вызвало нарушение прав доступа во время выполнения.
Я просмотрел много документации и сообщений на форуме и не могу найти много информации о динамическом добавлении элемента управления в элемент представления списка в коде. Я видел решения, которые предлагают использовать редактор стилей, но я хочу избежать этого, если это вообще возможно.
Как я могу установить родительский элемент управления для элемента в моем TListView
? Есть ли лучший / более правильный способ добавить элементы управления в TListViewItem
во время выполнения?
По словам Эмбаркадеро документация, TListViewItem
это не TFmxObject
потомок и, следовательно, его нельзя установить как Parent
к желаемому TEdit
пример. Не имеет Children
собственность также. И не TextObject
, DetailObject
и т. д. TListItemObject
потомки, содержащиеся в TListViewItem
) вознестись из TFmxObject
,
Кажется, у вас есть следующие выходы.
ListViewItem
класс и реализовать его внутри вашего ListView
с илиTListBox
вместо. TListBoxItem
s может быть родительским элементом управления.Других решений пока нет …