FMX TListView Item 높이 조절 - 이미지가 없는 경우 낮게 표시하기

2019.10.25 16:24

데브기어 테크게시판의 다음 질문에 대한 답변입니다. - https://tech.devgear.co.kr/delphi_qna/456600


이 글에서는 파이어몽키 TListView 항목 추가 시 이미지를 포함하고, 이미지가 없는 경우 항목의 높이를 낮게 지정하는 방법을 설명합니다.



화면 구성


TListView의 ItemAppearance를 DynamicAppearance로 설정 후 Image와 Text를 추가했습니다.

위치 조정 후 높이는 140으로 설정했습니다.


구현

두개의 버튼을 두고 다음과 같이 구현했습니다.

procedure TForm1.Button1Click(Sender: TObject);
var
  Item: TListViewItem;
begin
  Item := ListView1.Items.Add;
  Item.Data['Text1'] := '설명';
  Item.Data['Image2'] := TBitmap.CreateFromFile('C:\Users\hjfac_000\Pictures\01.jpg');
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  Item: TListViewItem;
  Image: TListItemImage;
  Text: TListItemText;
begin
  Item := ListView1.Items.Add;
  Item.Data['Text1'] := '이미지가 없는 항목';
  Item.Height := 44;

  Text := Item.Objects.DrawableByName('Text1') as TListItemText;
  Text.PlaceOffset.Y := 12;
end;


위 화면 구성과 코드를 참고해 다양하게 항목을 구성할 수 있습니다.

험프리.김현수 파이어몽키