다음을 통해 공유


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, RightAlignedLeftScroll 특성의 조합에 대해 이 값을 설정합니다.

 

설명

이 컨트롤은 CreateWindowEx 함수를 사용하여 WC_TREEVIEW 클래스에서 만들 수 있습니다. WS_BORDER, TVS_HASLINES, TVS_HASBUTTONS, TVS_LINESATROOT, TVS_DISABLEDRAGDROP, TVS_SHOWSELALWAYS, WS_CHILD, WS_TABSTOPWS_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