gpt4 book ai didi

delphi - 我可以为其包含的文本设置 TMemo 大小吗?

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

当您在表单设计器中编辑 TLabel 的标题时,它会为您调整 TLabel 的大小。有什么方法可以让 TMemo 在运行时执行此操作吗?

我希望能够获取一个 TMemo,为其 .lines.text 属性分配一些内容,然后告诉它调整自身大小并且不超过一定的宽度,尽管它可以达到它想要的高度。有人知道该怎么做吗?

最佳答案

这对我来说效果很好。添加的常量 (8) 可能会根据您是否使用边框和/或斜角而有所不同,请进行试验。

procedure TForm1.Memo1Change(Sender: TObject);
var
LineHeight: Integer;
DC: HDC;
SaveFont : HFont;
Metrics : TTextMetric;
Increase: Integer;
LC: Integer;
begin
DC := GetDC(Memo1.Handle);
SaveFont := SelectObject(DC, Memo1.Font.Handle);
GetTextMetrics(DC, Metrics);
SelectObject(DC, SaveFont);
ReleaseDC(Memo1.Handle, DC);
LineHeight := Metrics.tmHeight;
Increase := Memo1.Height;
LC := Memo1.Lines.Count;
if LC < 1 then
LC := 1;
Memo1.Height := LC * LineHeight + 8;
Increase := Memo1.Height - Increase;
Memo1.Parent.Height := Memo1.Parent.Height + Increase;
end;

关于delphi - 我可以为其包含的文本设置 TMemo 大小吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/935859/

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