gpt4 book ai didi

windows - Delphi:如何知道 TEdit 何时更改大小?

转载 作者:可可西里 更新时间:2023-11-01 14:39:20 27 4
gpt4 key购买 nike

我需要在编辑框改变大小时更新它周围的项目。

TEdit 没有OnResize 事件。

编辑框可以在不同时间调整大小,例如:

  • 在代码中更改宽度/高度
  • 表单缩放以进行 DPI 缩放
  • 字体已更改

我确定还有其他我不知道的。

我需要一个事件来知道编辑框何时改变了它的大小。有没有我可以将编辑框子类化并抓取的 Windows 消息?

最佳答案

OnResize 声明为 TControl 的 protected 属性。您可以使用所谓的“cracker”类公开它。不过,这有点像 hack。

type
TControlCracker = class(TControl);

...

procedure TForm1.FormCreate(Sender: TObject);
begin
TControlCracker(Edit1).OnResize := MyEditResize;
end;

procedure TForm1.MyEditResize(Sender: TObject);
begin
Memo1.Lines.Add(IntToStr(Edit1.Width));
end;

关于windows - Delphi:如何知道 TEdit 何时更改大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1423411/

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