首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >作为TCollectionItem子体中的属性编辑器的日期/时间选取器

作为TCollectionItem子体中的属性编辑器的日期/时间选取器
EN

Stack Overflow用户
提问于 2012-12-19 00:00:42
回答 1查看 1.1K关注 0票数 1

我正在编写一个组件,它需要Date、Time和Date/Time类型的属性。我希望这些属性在对象检查器中可见,并具有使用弹出属性编辑器的选项。

我尝试过将TDate作为一个已发布的属性,这给了我仅日期所需的结果。然而,我需要为TTimeTDateTime提供相同的东西,但它们都没有属性编辑器,实际上它甚至也不接受我在其中键入的任何值。

我已经找到了可以用作属性编辑器的TDateTimeProperty,至少我是这样理解的。在注册这个组件时,我已经完成了必要的实现。我需要应用它的这个属性实际上是一个TCollectionItem后代,不一定是组件的一部分,而是在组件中。

我就是这样注册的.

代码语言:javascript
复制
RegisterComponents('My Page', [TMyComponent]);
RegisterPropertyEditor(TypeInfo(TDateTime), TMyCollectionItem, 'MyPropName', TDateTimeProperty);

尽管可以编译,但当我安装它时,这个属性上没有属性编辑器。我尝试使用我的组件的类名来代替TMyCollectionItem,但是同样的问题。

为了显示这个属性编辑器,我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-19 00:48:18

您不需要为TDateTimeTDateTTime注册内置的属性编辑器。他们已经注册了。这就是为什么您尝试注册它们不会有任何影响。

这些类型的内置属性编辑器只是在基础浮点值和字符串表示形式之间进行转换。他们不实现日期时间选择器或类似的东西。

你可以说:

然而,对于TTime和TDateTime,我需要同样的东西,但它们都没有属性编辑器,事实上,它甚至也不接受我在其中输入的任何值。

这实际上是不正确的。它们确实附带了属性编辑器。它们是您在问题中提到的相同的内置属性编辑器。而且他们也接受价值观。它们不接受您提供的值,因为您提供了无效值。

如果您想注册一个提供可视化日期时间选择器的属性编辑器,那么您必须自己编写属性编辑器。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13936827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档