我正在尝试在运行时向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
添加控件?
答案 0 :(得分:1)
根据Embarcadero documentation, TListViewItem
不是TFmxObject
后代,因此无法将Parent
设置为所需的TEdit
实例。它也没有Children
属性。 TextObject
,DetailObject
等(TListItemObject
)ascend from TListViewItem
中包含的TFmxObject
后代也不存在。
看来你有以下方法。
ListViewItem
课程,并在ListView
或TListBox
。 TListBoxItem
可以为其他控件提供帮助。