앱에서 긴 글을 표시해야 하는 경우 3가지 방법을 이용해 표현할 수 있습니다.(아래 방법외에도 더 많은 방법이 있을 수 있습니다.)
1, TMemo 이용
문장을 나타내는 대표적인 컴포넌트입니다. 문장 출력뿐아니라 입력도 받을 수 있습니다.
출력이 목적인 경우 ReadOnly 속성을 True로 설정하면 입력을 제한합니다.
자동 줄바꿈이 필요하면 TextSettings.WordWrap 속성을 True로 설정합니다.
2, TWebBrowser + HTML 이용
HTML을 표현하는 웹브라우저에 문장을 출력하는 방법입니다. HTML 태그를 이용해 글자크기, 색상, 스타일 등을 자유롭게 사용할 수 있습니다. 만약, 문장이 HTML로 구성된 경우 아주 좋은 선택 입니다.
웹브라우저에 HTML을 불러오려면 아래와 같이 LoadFromString 메소드를 이용합니다.
WebBrowser1.LoadFromStrings(html, '');
3, TVertScrollBox + TText 이용
수직으로만 스크롤되는 스크롤박스(TVerScrollBox)에 텍스트(TText)를 추가해 문장을 표현하는 방법입니다.
여러개의 텍스트를 추가하면 글자크기, 색상, 스타일을 다르게 지정할 수 있습니다.
텍스트를 상단에 정렬(Align := Top)하면 추가된 순서대로 위에서부터 표시되며, AutoSize 속성을 True로 설정해 높이를 자동 조정할 수 있습니다.
아래 코드는 몇가지 속성을 설정해 동적(코드작성)으로 텍스트를 추가하는 코드 입니다.
procedure TForm1.Button2Click(Sender: TObject); procedure AddText(const AText: string; AFontSize: Integer = 12; AFontColor: TAlphaColor = TAlphaColorRec.Black); var Text: TText; begin Text := TText.Create(Self); Text.Parent := VertScrollBox1; Text.Align := TAlignLayout.Top; Text.TextSettings.HorzAlign := TTextAlign.Leading; Text.TextSettings.Font.Size := AFontSize; Text.TextSettings.FontColor := AFontColor; Text.AutoSize := True; Text.Text := AText; end; var S: string; begin AddText('제목1', 20); S := 'SVN 서버 소프트웨어는 소스코드 ......'; S := S + '예를들어, 팀내에서 소스코드를 ......'; S := S + '만약, 외부와 협업이 필요한 경우 ......'; AddText(S); AddText('제목2', 15, TAlphaColorRec.Red); S := 'SVN 서버 소프트웨어는 오픈 소프트웨어 부터 상용 소프트웨어까지 다양하게 선택할 수 있습니다.'; S := S + '아래 링크를 참고해 원하는 플랫폼과 원하는 SVN 서버 소프트웨어를 설치할 수 있습니다.'; AddText(S); end;
추가로,
델파이 마크다운 라이브러리를 이용할 수 있습니다. 다음 링크를 확인하세요.