윈도우 리스트박스(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 15411
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 13959
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 16495
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 22047
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 23266
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 18920
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 39243
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 174694
19 [시애틀] 블루투스 LE를 지원하는 디바이스에서 비콘 광고데이터를 발생할 수 있습니다. file Humphery 2015.10.06 689
18 [시애틀] 모든 종류의 안드로이드 인텐트(Intent)를 처리할 수 있습니다. Humphery 2015.10.06 848
17 [시애틀] BSON(Binary JSON)을 처리하고, JSON 데이터를 스트리밍 모델로 읽고, 쓸수 있습니다. file Humphery 2015.10.05 1718
16 [시애틀] IDE 메모리 개선으로 더 큰 프로젝트를 더 빠르게 코딩하고, 더 빠르게 컴파일 할 수 있습니다. 험프리 2015.10.05 442
15 [시애틀] 작업 중 비정상 종료 시 저장하지 않은 작업을 복구할 수 있습니다. file Humphery 2015.10.05 1016
14 [시애틀][VCL] 고해상도 모니터(4K 모니터와)와 멀티 모니터(모니터 당 DPI)를 지원합니다. [1] Humphery 2015.10.05 1303
13 [시애틀] 안드로이드 서비스 앱을 만들 수 있습니다. Humphery 2015.09.07 691
12 [시애틀] 컨트롤 힌트, 윈도우 10 용 네이티브 랜더링 등 윈도우 10용 FMX! 험프리 2015.09.07 1220
11 [시애틀] 비콘펜스(BeaconFence)등 새로운 오픈 소스와 컴포넌트 패키지를 IDE에서 직접 확보할 수 있습니다. Humphery 2015.09.07 942
10 [시애틀] 윈도우32비트 프로젝트에서 C++11 표준을 적용할 수 있습니다. Humphery 2015.09.07 1114
9 [시애틀] 스타일북 컴포넌트에 여러개의 플랫폼 스타일을 담을 수 있습니다. Humphery 2015.09.04 563
8 [시애틀] 20개 이상의 IDE 생산성 기능들이 내장되어 생산성, 품질, 안정성이 향상됩니다. Humphery 2015.09.04 442
7 [시애틀] iOS 64bit와 유니버셜앱을 만들고 디바이스에서 디버깅할 수 있습니다. Humphery 2015.09.04 507
6 [시애틀] FireDAC NoSQL 드라이버로 몽고DB를 완벽 지원합니다. Humphery 2015.09.04 971
5 [시애틀] 개발 효율성을 극대화할 수 있도록 멀티-모니터를 활용해 개발환경 레이아웃을 구축할 수 있습니다. Humphery 2015.09.04 645
4 [시애틀] 알림, 계약(Contract) 등의 윈도우 10 서비스 기능을 컴포넌트와 API로 쉽게 활용할 수 있습니다. 험프리 2015.09.02 766
3 [시애틀] VCL 스타일이 공용 대화 상자와 웹브라우저까지 적용됩니다. Humphery 2015.09.02 477
2 [시애틀] VCL 스타일을 적용해 1분만에 윈도우 10 최신신 룩앤필을 적용할 수 있습니다. 험프리 2015.09.02 1234
1 [시애틀] 윈도우 10 용 새 VCL UI 컨트롤로 윈도우 10 UI를 손쉽게 적용할 수 있습니다. 험프리 2015.09.02 2381