gpt4 book ai didi

delphi - 重写基类属性的读写

转载 作者:行者123 更新时间:2023-12-02 03:17:01 26 4
gpt4 key购买 nike

我想创建一个新组件,其行为与 TEdit 完全相同,但其中输入的文本替换了一些字符。例如,当有人在新组件中输入“abc”时,我希望文本属性在源代码中读取时返回“aac”。

type
TMyEdit = class(TEdit)
public
property Text : TCaption read GetText;
end;

类似这样的事情。

是否可以使用该属性的新读取函数覆盖现有属性,而不更改该属性的写入函数?

问候

最佳答案

如前所述:

The best approach is to use TMaskEdit

但是如果你真的想实现这个行为,那么可以这样做:

type
TMyEdit = class(TEdit)
private
function GetText: TCaption;
procedure SetText(const Value: TCaption);
public
property Text: TCaption read GetText write SetText;
end;

{ TMyEdit }

function TMyEdit.GetText: TCaption;
begin
Result := 'TMyEdit' + inherited Text;
end;

procedure TMyEdit.SetText(const Value: TCaption);
begin
inherited Text := Value;
end;

所以简而言之,我创建了 GetTextSetText settext 只是调用继承的 Text 属性,而 GetText 更改结果

关于delphi - 重写基类属性的读写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30075403/

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