SelectionTree 컨트롤
이 컨트롤을 통해 사용자가 Feature 테이블에 나열된 기능의 선택 상태를 변경할 수 있습니다. 컨트롤은 찾아보기 대화 상자에서 사용자가 설정할 수 있는 문자열 값 속성과 연결됩니다. Control 테이블의 Property 열에 속성 이름을 입력하여 컨트롤을 속성과 연결할 수 있습니다.
SelectionTree 컨트롤은 Windows XP 또는 이전 운영 체제에 다음 컨트롤 이벤트를 자동으로 게시합니다. SelectionTree 컨트롤은 선택한 항목이 한 노드에서 다른 노드로 변경될 때 이러한 이벤트를 게시합니다. 선택 트리에 노드가 없는 경우 컨트롤은 이러한 이벤트를 게시하고 이벤트를 구독하는 컨트롤의 내용을 지웁니다. 이러한 ControlEvents는 ControlEvent 테이블에 나열할 필요가 없습니다.
컨트롤 이벤트 | 설명 |
---|---|
SelectionAction | 강조 표시된 항목을 설명하는 UIText 테이블의 문자열을 게시합니다. |
SelectionBrowse | 강조 표시된 항목의 경로를 수정하는 데 사용되는 찾아보기 대화 상자를 생성합니다. |
SelectionDescription | 강조 표시된 항목을 설명하는 Feature 테이블의 문자열을 게시합니다. |
SelectionNoItems | 설명 텍스트를 삭제하거나 사용되지 않는 항목의 단추를 사용하지 않도록 설정합니다. |
SelectionPath | 강조 표시된 항목의 경로를 게시합니다. |
SelectionPathOn | 현재 선택한 기능과 연결된 선택 경로가 있는지 여부를 게시합니다. |
SelectionSize | 강조 표시된 항목의 크기를 게시합니다. |
Windows Server 2003 시스템부터 SelectionTree 컨트롤은 위의 표에 있는 모든 이벤트를 게시하고 DoAction ControlEvent 또는 SetProperty ControlEvent를 게시합니다. DoAction 또는 SetProperty ControlEvents를 게시하려면 레코드를 ControlEvent 테이블에 추가해야 합니다.
컨트롤 이벤트 | 설명 |
---|---|
DoAction | 사용자 지정 작업을 실행하도록 설치 관리자에 알립니다. |
SetProperty | 속성을 새 값으로 설정합니다. |
Windows Installer 버전 3.0부터 SelectionTree 컨트롤은 ControlEvent 테이블에 나열된 사용자 지정 작업을 실행하는 이벤트를 게시합니다. SelectionTree 컨트롤은 컨트롤에서 기능 선택이 변경되거나 현재 기능에 대해 다른 선택 상태를 지정할 때마다 이 이벤트를 게시합니다. 사용자 지정 작업은 이벤트가 게시될 때마다 실행됩니다. SelectionTree 컨트롤은 다음 속성의 값을 설정하여 사용자 지정 작업에 정보를 보냅니다. SelectionTree 컨트롤이 닫히면 이러한 모든 속성이 지워집니다.
Windows Installer 2.0: 지원되지 않습니다. SelectionTree 컨트롤은 이벤트를 게시하지 않으며 다음 속성을 설정하지 않습니다.
속성 | 설명 |
---|---|
MsiSelectionTreeSelectedFeature | Feature 테이블의 기능 필드에서 선택한 기능의 이름입니다. |
MsiSelectionTreeSelectedAction | 선택한 기능의 설치 작업 상태입니다. 값은 INSTALLSTATE_ABSENT, INSTALLSTATE_LOCAL, INSTALLSTATE_SOURCE 또는 INSTALLSTATE_ADVERTISED일 수 있습니다. |
MsiSelectonTreeChildrenCount | 직접 자식 노드의 수입니다. |
MsiSelectionTreeInstallingChildrenCount | INSTALLSTATE_LOCAL, INSTALLSTATE_SOURCE 또는 INSTALLSTATE_ADVERTISED인 직접 자식 노드의 수입니다. |
MsiSelectionTreeSelectedCost | 선택한 기능을 512바이트 단위로 설치하는 비용입니다. |
MsiSelectionTreeChildrenCost | 모든 자식 기능을 512바이트 단위로 설치하는 비용입니다. |
MsiSelectionTreeSelectedPath | 선택한 기능이 설치되는 경로입니다. 기능이 INSTALLSTATE_LOCAL로 설치되는 경우에만 정의됩니다. |
참고
Control 테이블의 텍스트 필드 내용은 SelectionTree 컨트롤에 의해 표시되지 않습니다. 대신 이 필드는 컨트롤에서 표시할 텍스트 스타일을 지정하고 화면 검토 유틸리티에서 사용하는 컨트롤에 대한 설명을 포함합니다. 텍스트 문자열의 글꼴 및 글꼴 스타일을 설정하려면 표시된 문자의 문자열 앞에 {\style} 또는 {&style}을 접두사로 묶습니다. 여기서 style은 TextStyle 테이블의 TextStyle 열에 나열된 식별자입니다. 둘 중 어느 것도 없지만 DefaultUIFont 속성이 유효한 텍스트 스타일로 정의된 경우 해당 글꼴이 사용됩니다. 다음 정보는 화면 검토 유틸리티에서 컨트롤에 대한 설명으로 읽습니다. 접근성을 참조하세요.
컨트롤 특성
이 컨트롤에서 다음 특성을 사용할 수 있습니다. 이벤트를 사용하여 특성값을 변경하려면 EventMapping 테이블의 ControlEvent에 컨트롤을 구독하고 특성 열에 특성의 식별자를 나열합니다. 이벤트 열에 ControlEvent의 식별자를 입력합니다.
특성 식별자 | 16진수 비트 | 설명 |
---|---|---|
IndirectPropertyName | 컨트롤과 연결된 간접 속성의 이름입니다. 간접 특성 비트가 설정된 경우 컨트롤은 이 이름을 가진 속성의 값을 표시하거나 변경합니다. 간접 특성 비트가 설정된 경우 이 이름은 컨트롤 테이블의 속성 열에 나열된 속성의 값이기도 합니다. | |
위치 | 대화 상자에서 컨트롤의 위치입니다. 컨트롤의 왼쪽 모서리에 있는 컨트롤의 너비, 높이 및 좌표를 Control 테이블의 너비, 높이, X 및 Y 열에 입력합니다. 길이 및 거리에 설치 관리자 단위를 사용합니다. |
|
PropertyName | 이 컨트롤과 연결된 속성의 이름입니다. 간접 특성 비트가 설정되지 않은 경우 컨트롤은 이 이름을 가진 속성의 값을 표시하거나 변경합니다. 이 특성은 컨트롤 테이블의 속성 열에 지정됩니다. | |
PropertyValue | 이 컨트롤에 의해 표시되거나 변경된 속성의 현재 값입니다. 간접 특성 비트가 설정되지 않은 경우 PropertyName 값입니다. Indirect 특성 비트가 설정된 경우 IndirectPropertyName 값입니다. 특성이 변경되면 컨트롤에 새 값이 반영됩니다. | |
Text | Control 테이블의 Text 열에 입력된 텍스트에 따라 화면 읽기 프로그램의 텍스트를 표시합니다. 접근성을 참조하세요. | |
Visible | 0x00000000 0x00000001 |
숨겨진 컨트롤입니다. 표시되는 컨트롤입니다. 컨트롤 테이블의 속성 열 비트 단어에 이 비트를 포함하면 컨트롤을 만들 때 컨트롤이 표시되거나 숨겨집니다. ControlCondition 테이블 사용하여 컨트롤을 숨기거나 표시할 수도 있습니다. |
Enabled | 0x00000000 0x00000002 |
사용 안 함 상태의 컨트롤입니다. 사용 상태의 컨트롤입니다. 컨트롤을 만들 때 컨트롤을 사용하도록 설정하려면 컨트롤의 특성 열에 있는 비트 단어에 이 비트를 포함합니다. ControlCondition 테이블 사용하여 컨트롤을 사용하거나 사용하지 않도록 설정할 수도 있습니다. |
오목 | 0x00000000 0x00000004 |
기본 비주얼 스타일을 표시합니다. 오목한 3D 모양으로 컨트롤을 표시합니다. Control 테이블의 Attributes 열 비트 단어에 이러한 비트를 포함합니다. |
간접 | 0x00000000 0x00000008 |
컨트롤은 컨트롤 테이블의 속성 열에 속성값을 표시하거나 변경합니다. 컨트롤은 컨트롤 테이블의 속성 열에 식별자가 나열된 속성의 값을 표시하거나 변경합니다. 이 컨트롤과 연결된 속성이 간접적으로 참조되는지 여부를 확인합니다. |
RTLRO | 0x00000000 0x00000020 |
컨트롤의 텍스트는 왼쪽에서 오른쪽 읽기 순서로 표시됩니다. 컨트롤의 텍스트는 오른쪽에서 왼쪽으로 읽기 순서로 표시됩니다. |
RightAligned | 0x00000000 0x00000040 |
컨트롤의 텍스트가 왼쪽에 맞춰집니다. 컨트롤의 텍스트가 오른쪽에 맞춰집니다. |
LeftScroll | 0x00000000 0x00000080 |
스크롤 막대는 컨트롤의 오른쪽에 있습니다. 스크롤 막대는 컨트롤의 왼쪽에 있습니다. |
BiDi | 0x000000E0 | RTLRO, RightAligned 및 LeftScroll 특성의 조합에 대해 이 값을 설정합니다. |
설명
이 컨트롤은 CreateWindowEx 함수를 사용하여 WC_TREEVIEW 클래스에서 만들 수 있습니다. WS_BORDER, TVS_HASLINES, TVS_HASBUTTONS, TVS_LINESATROOT, TVS_DISABLEDRAGDROP, TVS_SHOWSELALWAYS, WS_CHILD, WS_TABSTOP 및 WS_GROUP 스타일이 있습니다.
선택 트리는 CostInitialize 작업 및 CostFinalize 작업이 호출된 경우에만 채워집니다.
UIText 테이블의 다음 문자열은 이 컨트롤과 관련이 있습니다.
용어 | 설명 |
---|---|
AbsentPath |
없음 상태의 항목에 대해 표시되는 경로입니다. |
다음 6개의 문자열은 선택한 자식 수와 강조 표시된 항목과 연결된 크기를 표시하는 데 사용됩니다.
- SelChildCostPos
- SelChildCostNeg
- SelParentCostPosPos
- SelParentCostPosNeg
- SelParentCostNegPos
- SelParentCostNegNeg
다음 문자열은 팝업 메뉴에서 항목에 대해 사용 가능한 선택 옵션을 표시하는 데 사용됩니다.
- MenuAbsent
- MenuLocal
- MenuCD
- MenuNetwork
- MenuAllLocal
- MenuAllCD
- MenuAllNetwork
다음 문자열은 SelectionDescription ControlEvent의 현재 선택 항목을 설명하는 데 사용됩니다.
- SelAbsentAbsent
- SelAbsentLocal
- SelAbsentCD
- SelAbsentNetwork
- SelLocalAbsent
- SelLocalLocal
- SelLocalCD
- SelLocalNetwork
- SelCDAbsent
- SelNetworkAbsent
- SelCDLocal
- SelNetworkLocal
- SelCDCD
- SelNetworkNetwork
다음 4개의 지역화된 문자열은 파일 크기의 서식을 지정하는 데 사용됩니다.
- 바이트
- KB
- MB
- GB