gpt4 book ai didi

delphi - 覆盖 Delphi 属性的默认值的最简单方法是什么?

转载 作者:行者123 更新时间:2023-12-03 15:19:00 25 4
gpt4 key购买 nike

我正在尝试编写一个 TCustomDBGrid 后代,其设计感觉像一个 TListBox。我想要更改的一件事是选项属性的默认值。 TCustomDBGrid 将选项定义为:

property Options: TDBGridOptions read FOptions write SetOptions
default [dgEditing, dgTitles, dgIndicator, dgColumnResize, dgColLines,
dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit];

尝试在我的类(class)中覆盖它

  property Options: TDBGridOptions default
[dgTitles, dgTabs, dgRowSelect, dgAlwaysShowSelection, dgCancelOnExit];

不起作用;编译器期望在类型之后读取写入,而不是默认。问题是,FOptions 和 SetOptions 在 TCustomDBGrid 中都被定义为私有(private)的,不 protected 。

我是否必须编写自己的 get 和 set 方法来调用“继承选项”,或者是否有更简单的方法来执行此操作?

最佳答案

不要指定类型。然后您可以更改默认值。请记住,您还必须在构造函数中将 Options 属性设置为默认值。下面的代码实际上并没有设置默认值,它只是让它知道当属性值是这样的时候不要流式传输。

property Options default [dgTitles, dgTabs, dgRowSelect, dgAlwaysShowSelection, dgCancelOnExit];

关于delphi - 覆盖 Delphi 属性的默认值的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/338628/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com