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;
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;