我有一个我创建的自定义组件派生自TCustomListView.
我不需要Items属性发布或在运行时可以通过代码访问,因为我的自定义组件将处理项目的填充和访问.
我知道UnlistPublishedProperty哪些可以包含在Register组件的过程中.所以考虑到这一点,我试过:
UnlistPublishedProperty(TMyListView, 'Items');
Run Code Online (Sandbox Code Playgroud)
根据我的理解,上面只使得对象检查器隐藏了属性,因此代码MyListView1.Items仍然存在.
如何让Items属性(或我猜的任何属性)成为用户不可见,不可访问的属性,但仍可由我的组件访问?
谢谢.
您无需UnlistPublishedProperty安排不发布的财产.您只需选择不发布该属性即可.
为了隐藏代码,以及设计师,你运气不好.你可以试试这个:
....
private
property Items;
....
Run Code Online (Sandbox Code Playgroud)
但它没有效果.从文档:
您可以通过重新声明属性来提高后代类中属性的可见性,但不能降低其可见性.
坦率地说,如果你希望你的控件不要公开这个属性,你就不应该从中开始TCustomListView.也许你需要封装而不是继承.
| 归档时间: |
|
| 查看次数: |
385 次 |
| 最近记录: |