procedure TForm1.ListView1UpdateObjects(const Sender: TObject;
const AItem: TListViewItem);
var
TextR : TRectF;
DetailR: TRectF;
TextRHeight: integer;
DetailRHeight: integer;
begin
TextRHeight := 0;
DetailRHeight := 0;
if (AItem.Objects.TExtObject <> nil) and
(AItem.Objects.TextObject.Text <> '') then
begin
// 计算文字显示的区域
TextR := RectF(0, 0, AItem.Objects.TextObject.Width, 10000);
AItem.Parent.Canvas.MeasureText(TextR,
AItem.Objects.TextObject.Text,
AItem.Objects.TextObject.WordWrap,
[], TTextAlign.Leading, TTextAlign.Leading);
// 设定高度
TextRHeight := Trunc(TextR.Height);
end;
if (AItem.Objects.DetailObject <> nil) and
(AItem.Objects.DetailObject.Text <> '') then
begin
// 计算文字显示的区域
DetailR := RectF(0, 0, AItem.Objects.DetailObject.Width, 10000);
AItem.Parent.Canvas.MeasureText(DetailR,
AItem.Objects.DetailObject.Text,
AItem.Objects.DetailObject.WordWrap,
[], TTextAlign.Leading, TTextAlign.Leading);
// 设定高度
DetailRHeight := Trunc(DetailR.Height);
end;
AItem.Height := TextRHeight + DetailRHeight + 20;
end;
————————————————
原文链接:https://blog.csdn.net/a00553344/article/details/50786846
Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号
执行时间: 0.36240887641907 seconds