Listbox 구성 요소 (tlistbox)
이 구성 요소는 사용자가 항목을 선택, 가입, 삭제 또는 수정할 수있는 일련의 목록을 표시하는 표준 Windows 목록 상자 구성 요소입니다.
1. tllistbox 구성 요소의 일반적인 사용
목록 상자는 종종 Windows 응용 프로그램에서 사용됩니다. 목록 상자는 사용자가 선택할 수 있도록 롤 가능한 창에 여러 항목을 나열 할 수 있습니다. 예를 들어, Delphi 's IDE에서보기 메뉴에서 구성 요소 목록 명령을 사용할 때 Delphi는 VCL에 모든 구성 요소를 나열합니다. 이 프로그램은 주로 항목 속성을 사용하여 특정 옵션의 내용을 가져 오기 위해 items.strings []를 사용하는 등 다양한 항목을 제어하고 inited () 및 items.delete () 옵션 항목을 추가하거나 삭제합니다. itemindex 속성을 통해 현재 옵션을 지정하거나 가져옵니다.
2. tlistbox 구성 요소의 중요한 특성
· 열 목록 상자 번호 · ExtendedSelect이 속성은 Shift 키와 Ctrl 키를 사용하여 여러 항목을 동시에 선택할 수 있는지 여부를 설정하는 데 사용됩니다. 목록 상자 · ItemHeight이 속성은 목록 상자에 각 항목의 높이를 설정하는 데 사용됩니다. itemindex이 속성은 목록 상자의 선택된 항목의 시퀀스 번호를 설정하는 데 사용됩니다. · 목록 상자의 모든 항목은 품목 속성 · 다중 선택을 통해 여러 항목을 동시에 선택할 수 있습니다 · Selcount return return return return · 현재 선택된 품목의 수는 선택된이 특성을 사용하여 지정된 항목이 선택되었는지 여부를 결정하는 데 사용됩니다.이 속성은 항목을 설정하는 데 사용됩니다. 목록 상자는 알파벳순으로 정렬되어야합니다. · 스타일이 속성은 목록 상자의 스타일을 설정하는 데 사용됩니다. 다음은 프로그램에서 Tlistbox 구성 요소의 일반적으로 사용되는 특성을 설명합니다.
(1) 열 속성
이 속성의 기본값은 0이며 목록 상자는 단일 열에 표시됩니다. 이 속성이 0보다 큰 값으로 설정되면 목록 상자가 먼저 열을 채 웁니다. 한 열에 완전히 표시 할 수없는 경우 열 2, 열 3 등에 표시되지만 열 속성에 의해 설정된 열 횟수 만 화면에 표시됩니다. 이 속성이 2로 설정되면 실제 컨텐츠가 2 개 이상의 열이면 수평 스크롤 막대가 자동으로 추가됩니다.
(2) ExtendedSelect 속성
이 속성은 다중 선택 속성을 true로 설정 해야하는 경우 여러 항목을 Shift 키 및 CTRL 키와 동시에 선택할 수 있는지 여부를 설정하는 데 사용됩니다. 사용자는 여러 항목을 선택합니다 (반드시 연속적인 것은 아닙니다).
(3) 적분 속성
이 속성이 True로 설정되고 스타일 속성이 IsownerDrawFixed로 설정된 경우 목록 상자의 높이는 목록 상자의 항목 높이의 정수 다중에 자동으로 조정됩니다. 이 속성이 False로 설정된 경우 목록 상자의 높이가 반드시 항목 고급 속성의 정수 배수 일 필요는 없기 때문에 목록 상자의 마지막 항목이 전체 표시되지 않을 수 있습니다.
(4) itemHeight 속성
스타일 속성이 isownerfixed (사용자 정의)로 설정되면이 속성은 목록 상자에 각 항목의 높이를 설정하는 데 사용됩니다. IntegralHeight 속성이 True로 설정된 경우 전체 목록 상자의 높이는 항목 고급 속성의 값으로 자동 조정됩니다. 스타일 속성이 isstandard 또는 isownerdrawvariable로 설정된 경우 항목 호 속성은 의미가 없습니다.
(5) itemindex 속성
이 속성은 목록 상자에 선택한 항목의 시퀀스 번호를 설정하는 데 사용됩니다. 다중 선택 속성이 True로 설정되고 사용자가 여러 항목을 선택하면이 속성은 입력 초점으로 항목의 시퀀스 번호를 반환합니다. 프로그램 샘플 코드는 다음과 같습니다.
[delphi] veraincopyproceduretform1.formcreate (sender : tobject); vari : integer; beginlistbox1.multiSelect : = false; button.caption = 'movetotop'; fori : = 1to10dolistbox1.Add ( 'item'+inttoStr (i)) ; end; proceduretform1.button1click (sender : tobject); items.move;
(6) 항목 속성
목록 상자의 모든 항목은 항목 속성을 통해 액세스 할 수 있습니다.
[Delphi] Plaincopyvarf : 파일; i : integer; startfori : = 0to (fileListbox1.items.count-1) dobegintryiffilelistbox1.selected [i] thenbeginifnotfileExists (filelistbox1.items.strings [i]) .items.strings [i]+'notfound', mterror, [mbok], 0); 계속; end; antedfile (f, fileListbox1.items.strings [i]); reset (f, l); listbox1.items. inttostr (filesize (f)); 종료;
(7) 다중 선택 속성
이 속성이 True로 설정된 경우 여러 항목을 동시에 선택할 수 있습니다. 사용자는 Ctrl 또는 Shift 키를 누르거나 마우스로 항목을 선택하거나 마우스를 직접 드래그 앤 드롭하여 선택할 수 있습니다.
(8) 분류 된 특성
이 속성은 목록 상자의 항목이 알파벳순으로 정렬되어야하는지 여부를 설정하는 데 사용됩니다. 정렬 된 목록 상자의 경우 add () 또는 insert ()를 호출하여 추가 된 항목이 적절한 위치로 자동 이동합니다. 프로그램 샘플 코드는 다음과 같습니다.
[delphi] veraincopyproceduretform1.formcreate (sender : tobject); items.add ( 'item2'); listbox1.items.add ( 'item3'); listbox1.items.add ( ' item1 '); listbox1.items.add ('item4 '); end;
(9) 스타일 속성
이 속성은 목록 상자의 스타일을 설정하는 데 사용됩니다. 다음 3 가지 사용자 선택 가능한 값을 설정합니다. • LBStandard : 각 항목은 문자열이며 각 항목의 높이가 동일합니다. • lbowner drawfixed : 항목은 반드시 문자열 일 필요는 없지만 항목의 높이는 항목 고급 속성으로 지정됩니다. 각 항목이 표시되기 전에 OnDrawItem 이벤트가 트리거됩니다. • lbownerDrawVariable : 항목은 반드시 문자열 일 필요는 없으며 이미지 일 수도 있고 항목의 높이가 다를 수 있습니다. 각 항목이 표시되기 전에 두 개의 이벤트가 트리거됩니다. 첫 번째는 onmeasureItem 이벤트이며 프로그램이 각 항목의 높이를 지정하고 두 번째는 ondrawitem 이벤트입니다.
3. tlistbox 구성 요소의 중요한 이벤트
· 스타일 속성이 lbowner drawfixed 또는 lbowner drawvariable로 설정되고 목록 상자의 항목을 다시 칠 해야하는 경우, 스타일 속성이 lbownerdrawvariable로 설정되고 목록 상자의 항목이 다시 인쇄 될 경우 이벤트가 트리거됩니다. , 이벤트가 트리거됩니다
4. tlistbox 구성 요소를위한 중요한 방법
프로그램에서 일반적으로 사용되는 tlistbox 구성 요소의 메소드는 명확합니다. 이는 목록 상자에서 모든 옵션을 삭제하는 기능입니다.
ListBox의 항목은 콘텐츠에 따라 다른 색상을 어떻게 표시합니까?
1. Listbox1의 스타일 속성을 LBownerDrawVariable2로 변경하십시오.
예를 들어:
[delphi] veraincopyproceduretform1.listbox1drawitem보기 (Control : twincontrol; index : rect : trect; state : townerDrawState). 홀수 홀수 the the the the the 항목은 숫자 .Brush.color : = clinActiveCaptionText; listbox1.canvas.textrect (rect, rect.left, rect.top, listbox1.items [index]); end; ifodSelectedInstatEthen // 선택한 arverStatEnStatEns // 선택한 areglistbox1.canvas.brush .color : = clhighlight; listbox1.canvas.textrect (rect, rect.left, rect.top, listbox1.items [index]); end; end;