加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 系统 > 正文

windows – Delphi:如何知道TEdit何时改变大小?

发布时间:2021-03-04 21:30:36 所属栏目:系统 来源:网络整理
导读:我需要在更改大小时更新编辑框周围的项目. TEdit没有OnResize事件. 编辑框可以在不同时间调整大小,例如: 在代码中更改宽度/高度 为DPI缩放缩放的表单 字体已更改 我相信其他人我不知道. 我需要一个单独的事件来知道编辑框何时改变了它的大小.是否有Window

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

TEdit没有OnResize事件.

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

>在代码中更改宽度/高度
>为DPI缩放缩放的表单
>字体已更改

我相信其他人我不知道.

我需要一个单独的事件来知道编辑框何时改变了它的大小.是否有Windows消息我可以为编辑框子类化并抓取?

解决方法

OnResize被声明为TControl的受保护属性.您可以使用所谓的“cracker”类来公开它.不过,这有点像黑客.

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;

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读