컨트롤 및 텍스트 추가
대화 상자와 빌보드에 배치된 컨트롤 및 텍스트를 사용하면 사용자가 설치 프로세스와 상호 작용할 수 있습니다. 사용자 인터페이스 사용에 설명된 대로 Dialog 테이블에 포함하여 사용자 인터페이스에 대화 상자를 추가합니다. Control 테이블과 BBControl 테이블을 각각 채워 대화 상자와 빌보드를 컨트롤로 채웁니다.
컨트롤의 초기 특성은 Control 테이블의 Attributes 열에 지정할 수 있습니다. 컨트롤 특성을 참조하세요.
컨트롤 특성이 조건에 종속되도록 하려면 ControlCondition 테이블을 사용하여 속성 또는 조건문 값에 따라 컨트롤을 사용하지 않도록 설정하거나, 사용하도록 설정하거나, 숨기거나 표시합니다. 이 테이블을 사용하여 Dialog 테이블에 입력한 기본 컨트롤의 사양을 재정의할 수도 있습니다.
이벤트가 컨트롤 특성을 변경하도록 하려면 EventMapping 테이블의 ControlEvent에 컨트롤을 구독합니다. ControlEvent는 설치 관리자가 수행할 작업 또는 대화 상자에서 하나 이상의 컨트롤 특성 변경을 지정합니다. ControlEvent 개요를 참조하세요. Attribute 열에 특성의 식별자를 입력하고 EventMapping 테이블의 Event 열에 ControlEvent의 식별자를 입력합니다.
일부 컨트롤은 사용자로부터 정보 수집을 용이하게 합니다. 예를 들어 확인란을 사용하면 사용자가 속성 값을 설정할 수 있습니다. CheckBox 테이블, ComboBox 테이블, ListBox 테이블, RadioButton 테이블 및 ListView 테이블을 참조하세요.
보안상의 이유로 사용자 인터페이스와 상호 작용하는 사용자가 프라이빗 속성을 변경할 수 없습니다. 속성이 사용자 인터페이스에 의해 설정되도록 하려는 경우 공용 속성이어야 하고 모두 대문자로 된 이름이 있어야 합니다. 속성 정보를 참조하세요.
ActionText 테이블을 채워 대화 상자에서 사용자에게 정보를 표시하거나 설치 작업에 대한 응답으로 로그에 쓰도록 할 수 있습니다.
컨트롤은 미리 정의된 글꼴 스타일을 가질 수 있습니다. 텍스트 문자열의 글꼴 및 글꼴 스타일을 설정하려면 표시된 문자의 문자열 앞에 {\style} 또는 {&style}을 접두사로 묶습니다. 여기서 style은 TextStyle 테이블의 TextStyle 열에 나열된 식별자입니다. 둘 중 어느 것도 없지만 DefaultUIFont 속성이 유효한 텍스트 스타일로 정의된 경우 해당 글꼴이 사용됩니다.
UI가 있는 모든 설치 패키지의 DefaultUIFont 속성은 Property 테이블에서 TextStyle 테이블에 나열된 미리 정의된 스타일 중 하나로 설정해야 합니다. 이 속성을 지정하지 않으면 설치 관리자가 시스템 글꼴을 사용합니다. 이로 인해 패키지의 코드 페이지가 사용자의 기본 UI 코드 페이지와 다른 경우 설치 관리자가 텍스트 문자열을 잘못 표시할 수 있습니다.
대부분의 컨트롤의 경우 데이터베이스의 코드 페이지에서 지정한 문자 집합을 사용하여 텍스트가 표시됩니다. 따라서 데이터베이스에 포함된 정보에 올바른 문자 집합이 사용됩니다. 이에 대한 예외는 Edit, DirectoryList, PathEdit 및 DirectoryCombo 컨트롤로, 항상 사용자의 기본 UI 문자 집합을 사용하여 텍스트를 표시합니다. Text, ListBox 및 ComboBox 컨트롤은 UsersLanguage 컨트롤 특성이 설정된 경우 사용자의 기본 UI 문자 집합을 사용합니다.
경우에 따라 대화 상자에서 취소할 때 컨트롤이 잘못 그려질 수 있습니다. 이는 취소 대화 상자가 제거된 후 컨트롤이 WM_PAINT 메시지를 받는 순서와 관련이 있습니다. 이 문제를 해결하려면 Control 테이블에서 컨트롤 순서를 변경해 보세요.
컨트롤은 모든 글꼴 크기 설정에서 볼 수 있는 전체 텍스트를 수용할 수 있을 만큼 커야 합니다. UI의 텍스트를 지역화할 수 있는 경우 지역화된 전체 텍스트를 수용할 수 있을 만큼 컨트롤을 크게 만들어야 합니다. 글꼴 크기가 크거나 지역화된 텍스트는 원래 텍스트보다 더 많은 공간이 필요할 수 있으며 너무 작게 만들어진 컨트롤에 의해 잘리게 될 수 있습니다. UI 텍스트 지역화에 대한 자세한 내용은 지역화 예제 섹션을 참조하세요.