델파이에서 애플의 테이블뷰를 구현 할 수 있게 되었습니다.
새로운 폼을 하나 만들고 ControlList를 alClient 로 올려놓고
ControlList 의 Item (prototype) 영역에 Label을 하나 올려 놓습니다.
간단하게하기위해 자료 컨테이너는 iMemo: TStringList 로 지정하고
아래 소스처럼 초기값을 넣습니다.
ComtrolList1.ItemHeight := 22;
procedure TForm2.ControlList1BeforeDrawItem(AIndex: Integer; ACanvas: TCanvas;
ARect: TRect; AState: TOwnerDrawState);
begin
Label1.Caption:= iMemo[Aindex];
end;
procedure TForm2.FormActivate(Sender: TObject);
begin
iMemo:= TStringList.Create;
iMemo.CommaText:= 'Hello, World,1,2,3,4,5,6,7,8,9';
ControlList1.ItemCount:= iMemo.Count;
end;
procedure TForm2.FormDeactivate(Sender: TObject);
begin
iMemo.Free;
end;
ARect: TRect; AState: TOwnerDrawState);
begin
Label1.Caption:= iMemo[Aindex];
end;
procedure TForm2.FormActivate(Sender: TObject);
begin
iMemo:= TStringList.Create;
iMemo.CommaText:= 'Hello, World,1,2,3,4,5,6,7,8,9';
ControlList1.ItemCount:= iMemo.Count;
end;
procedure TForm2.FormDeactivate(Sender: TObject);
begin
iMemo.Free;
end;
결과화면