我正在尝试在运行时将TEdit
控件添加到TListView
控件。我想将TEdit
控件作为属于我的TListViewItem
的所选TListView
的父项,但是,我找不到执行此操作的方法。
最初,我尝试过这样:
TEdit * MyEdit = new TEdit( this );
MyEdit->Parent = MyListView->Selected;
但是,这给了我以下错误:
一时兴起,我尝试将列表 View 上的所选项目作为
TFmxObject
进行类型转换,如下所示:MyEdit->Parent = (TFmxObject *)MyListView->Selected;
在编译时,这会在运行时导致访问冲突。
我搜索了很多文档和论坛帖子,但找不到关于在代码中动态地向列表 View 项中添加控件的大量信息。我已经看到了建议使用样式编辑器的解决方案,但是我想尽可能避免这种情况。
如何设置控件的父级到
TListView
中的项目?在运行时是否有更好/更合适的方法将控件添加到TListViewItem
? 最佳答案
根据Embarcadero,documentation, TListViewItem
不是TFmxObject
的后代,因此无法将其设置为所需Parent
实例的TEdit
。它也没有Children
属性。 ascend from,TextObject
,DetailObject
等(TListItemObject
中包含的TListViewItem
后代)也是如此。
看来您有以下解决方法。
TFmxObject
类,并在ListViewItem
或ListView
。 TListBox
可以成为其他控件的父级。 关于c++ - Firemonkey:在运行时将子控件添加到TListViewItem,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33555672/