윈도우 리스트박스(ListBox) 컨트롤은 문자열 목록을 보여주는 기능입니다.

윈도우 초기 버전 이후, 운영제체(OS)는 여러개의 열을 보여주는 리스트 박스(multi-column list box)를 사용할 수 있는 몇 가지 특별한 기능들을 제공하고 있습니다.  

 

이 기능을 사용해 컨트롤을 만들면 특정 스타일을 적용하거나, 데이터 전달을 위해 특정 윈도우 메세지 (LB_SETCOLUMNWIDTH, LB_SETTABSTOP)를 활용할 수도 있습니다.

 

좋은 소식은 VCL TListBox 컨트롤이 이 기능을 제공해 활용하기 매우 쉽다는 것입니다. 

그러나 아쉬운 점은 문서화가 정확하게 되어 있지 않아 지난 오랜 기간 델파이 개발자들이 어떻게 활용해야 할 지 모르고 있다는 점입니다.

 

여러 열에 문자열이 표시되는 리스트 박스를 만들어볼까요? 

리스트 박스는 세로 스크롤바로 세로로 길게 데이터를 보여주는 방식 대신 사용 가능한 공간 끝까지 문자열을 표시할 수 있습니다. 문자열 양이 화면 공간을 넘어서면 가로 스크롤바가 나타납니다. VCL의 컬럼 속성(Cloumns property)에서 각 문자열들이 나타는 열이 동일한 너비로 표시되도록 설정할 수 있습니다.

샘플 소스코드와 이미지를 참고해보세요:

 

 

ListBox1.Columns := 3;

 for var I := 0 to 30 do

   ListBox1.Items.Add('hi);

 

 

 

 

 

또 다른 것은 TabWidth 속성을 설정하는 방법이 있습니다.

위 이미지에서 3번째 이미지처럼 보이게 할 수 있는 것입니다 (참고: #9 는 탭을 나타내는 것입니다.)

 

ListBox1.Tabwidth := 50;

ListBox1.Items.Add ('hi' + #9 + 'lo');

ListBox1.Items.Add ('foo' + #9 + 'bar');

ListBox1.Itemas.Add ('ki' + #9 + 'mo');

 

 

 

더 많은 정보는 마르코 칸투의 블로그를 통해 확인할 수 있습니다.

아래 링크를 통해 확인해보세요!

 

 


 

엠바카데로 Feature Friday란?

 

엠바카데로에서 매주 금요일 개발팁을 선정해 보내드리는 기술레터입니다.

데브기어에서는 이 개발팁을 국내 개발자분들도 보기 좋도록 핵심 내용들을 한글화하여 제공하고 있습니다.

엠바카데로의 Feature Friday를 받아보고 싶다면, 지금 메일 주소를 등록해서 기술 정보를 편하게 받아보세요!

 

번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 15449
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 13963
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 16499
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 22057
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 23268
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 18924
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 39259
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 174726
30 안드로이드 개발환경 추가 조치방법 - RAD Studio에서 SDK 설정 Humphery 2015.10.01 5560
29 모바일 앱 실행 시 (비정상종료)검은화면이 표시되는 경우 조치방법 험프리 2015.07.03 4419
28 [추가자료] 안드로이드 개발환경 추가 조치방법 - 수동 SDK Tools 업데이트 file Humphery 2015.10.01 3062
27 안드로이드 SDK 설정 방법 file 험프리 2016.09.20 2869
26 파이어몽키(FireMonkey) vs. VCL 관리자 2017.07.18 2843
25 안면인식(Face Detection) 라이브러리(안드로이드, iOS) 험프리 2017.10.30 2418
24 [개발환경 설정] 안드로이드 기기 연결 시 'USB 디버깅 허용' 창이 표시되지 않는 경우 조치 방법 file 험프리 2018.08.21 1871
23 [안드로이드/iOS] 이미 배포(Deployment)된 파일 업데이트 하기 험프리 2016.03.31 1542
22 RAD 스튜디오 10.3.1에서 FCM 수신 설정하기 [5] 험프리 2019.06.10 1376
21 TTS(Text-to-Speech) 라이브러리(윈도우, 맥OS, iOS, 안드로이드) [2] 험프리 2017.10.30 1339
20 iOS SDK 추가 화면에서 SDK 목록이 표시되지 않을 경우 해결방안 file 험프리 2019.01.16 978
19 [FMX] 안드로이드 패키지 버전 구하기 튜토리얼 file 험프리 2017.09.01 945
18 [FMX] TListView 더보기 버튼 구현하기 험프리 2017.09.20 937
17 [발표자료] 20160929 나만의 앱 완성하기 with 델파이 험프리 2016.09.21 881
16 iOS9의 새로운 기능인 "App transport Security" 예외 허용을 위한 Info.plist xml 수정방법 [1] Humphery 2015.10.01 847
15 RAD Studio(델파이/C++빌더) 모바일 앱 배포하기 관리자 2017.01.16 757
14 애플 개발자 프로그램 구독하지 않고 XCode8을 설정해 iOS앱을 배포하는 방법 험프리 2017.05.15 693
13 첨부파일을 포함한 이메일 전송하기(iOS, 안드로이드, 윈도우) file 험프리 2017.08.04 665
12 [고객 사례- 의료, 델파이] COVID-19 격리 대상자 상태 관리 앱 관리자 2020.04.28 655
11 안드로이드에서 커스텀 폰트 사용하기 - 델파이 10.2 도쿄 험프리 2017.05.15 624