속성에 저장된 텍스트 추가
조건부 “기다려 주세요. . . ” 메시지 상자 작성 섹션에 설명된 예제는 “디스크 공간 계산이 완료되는 동안 기다려 주세요.”라는 텍스트가 포함된 대화 상자를 표시합니다. 대화 상자에 텍스트 컨트롤을 놓고 컨트롤 테이블의 텍스트 열에 텍스트 문자열을 입력하면 됩니다. 이 경우 글꼴 스타일에 대한 정보를 문자열에 포함해야 합니다. 작성자는 문자 문자열 앞에 {\style}을 접두사로 추가하여 글꼴과 글꼴 스타일을 설정해야 합니다. 여기서 style은 TextStyle 테이블의 TextStyle 열에 나열된 글꼴 스타일 식별자입니다. 텍스트를 추가하는 이 방법은 설치 예제에 여러 번 설명되어 있습니다.
사용자 인터페이스의 작성자는 속성에 텍스트를 저장할 수도 있습니다. 다음 예제에서는 이를 설명하고 ControlEvents를 사용하여 대체 텍스트 문자열을 표시하는 방법을 보여 줍니다.
이 예제의 목적은 백그라운드 작업이 실행되는 동안 WaitForCosting 대화 상자를 다시 표시하는 것입니다. 새 시나리오와의 차이점은 사용자가 WaitForCosting 대화 상자를 취소한 다음 백그라운드 작업이 두 번째로 완료되기 전에 컨트롤을 활성화하려고 하면 WaitForCosting 상자가 다시 나타나 “디스크 공간 계산이 계속 실행 중입니다. 계속 기다리거나 기본 선택 상자로 돌아가서 이 시퀀스를 종료할 수 있습니다.”라는 대체 메시지를 표시합니다.
대체 메시지를 표시하는 “기다려 주세요” 대화 상자를 표시하려면
- 조건부 “기다려 주세요. . . ” 메시지 상자 작성에 설명된 대로 조건부 WaitForCosting 대화 상자를 선택 대화 상자에 추가하여 시작합니다.
- 콘트롤 테이블에서 레코드를 작성하여 WaitForCosting 대화 상자에 텍스트 컨트롤을 배치합니다. Dialog_ 열에 WaitForCosting 대화 상자의 식별자를 입력합니다. 컨트롤 열에 텍스트 컨트롤의 식별자를 입력합니다. 형식 열에서 컨트롤 형식을 텍스트로 지정합니다.
- 컨트롤 테이블의 X 및 Y 열에 컨트롤 왼쪽 상단 모서리의 가로 및 세로 좌표를 입력하여 텍스트 컨트롤의 위치 컨트롤 속성을 지정합니다. 픽셀을 거리 단위로 사용합니다.
- 컨트롤 테이블의 너비 및 높이 열에 이러한 치수를 입력하여 텍스트 컨트롤의 너비 및 높이를 지정합니다. 픽셀을 길이 단위로 사용합니다.
- 컨트롤 테이블의 속성 및 Control_Next 열은 텍스트 컨트롤에 영향을 미치지 않으며 이 경우 비워 둘 수 있습니다.
- 비트 플래그와 연결된 텍스트 컨트롤의 컨트롤 특성을 지정합니다. 개별 비트 값을 함께 추가하고 컨트롤 테이블의 특성 열에 합계를 입력합니다. 다음은 Visible, Sunken, Enabled, Transparent, NoWrap, NoPrefix 컨트롤 특성입니다. 불투명한 배경에 줄 바꿈 텍스트가 있는 텍스트 컨트롤을 표시하는 비트 조합은 0이므로 0을 입력하거나 특성 열을 비워 둡니다.
- 컨트롤 테이블의 텍스트 열은 비워 둘 수 있습니다. 텍스트 컨트롤은 텍스트 컨트롤 속성의 값인 텍스트 문자열을 표시합니다. 이 특성을 설정하는 메서드는 이 절차의 후속 단계에서 설명합니다.
- 속성 테이블에 레코드를 추가하여 FirstMessage 메시지 속성을 정의합니다. 이 속성은 첫 번째 메시지의 글꼴 스타일과 텍스트를 포함하는 문자열입니다. 속성 열에 FirstMessage라는 이름을 입력합니다. 값 열에 다음 문자열을 입력합니다. “{\WaitStyle}디스크 공간 계산이 완료되는 동안 기다려 주세요.” 여기서 WaitStyle은 TextStyle 테이블의 TextStyle 열에 나열된 글꼴 스타일 중 하나의 식별자입니다.
- 속성 테이블에 레코드를 추가하여 SecondMessage 메시지 속성을 정의합니다. 이 속성은 두 번째 메시지의 글꼴 스타일과 텍스트를 포함하는 문자열입니다. 속성 열에 SecondMessage라는 이름을 입력합니다. 값 열에 다음 문자열을 입력합니다. “{\WaitStyle}디스크 공간 비용 계산이 계속 실행 중입니다. 계속 기다리거나 기본 선택 상자로 돌아가서 이 시퀀스를 종료할 수 있습니다.”
- 속성 테이블에 레코드를 추가하여 WaitMessage 메시지 속성을 정의합니다. 이 속성은 비용 계산이 완료되기 전에 사용자가 푸시 단추를 활성화하려고 하면 WaitForCosting 대화 상자에 표시되는 메시지의 글꼴 스타일과 텍스트를 포함하는 문자열입니다. 속성 열에 WaitMessage라는 이름을 입력합니다. 속성 테이블의 값 열에 FirstMessage를 입력합니다.
- 새 선택 대화 상자가 열릴 때마다 WaitMessage를 FirstMessage로 초기화하는 SetProperty ControlEvent를 ControlEvent 테이블에 추가합니다. 대화 상자 시퀀스에서 선택 대화 상자 바로 앞에 오는 대화 상자의 식별자를 Dialog_ 열에 입력합니다. Control_ 열에 선택 대화 상자를 여는 데 사용되는 이 대화 상자의 컨트롤 식별자를 입력합니다. 이벤트 열에 [WaitMessage]를 입력합니다. 인수 열에 [FirstMessage]를 입력합니다. 조건 열에 1을 입력하고 오더링 열을 비워 둡니다.
- 디스크 공간 비용 계산이 완료되기 전에 사용자가 WaitForCosting 대화 상자를 닫는 경우 Waitmessage를 SecondMessage로 설정하는 SetProperty ControlEvent를 ControlEvent 테이블에 추가합니다. Dialog_ 열에 WaitForCosting 대화 상자의 식별자를 입력합니다. 텍스트 컨트롤의 식별자를 Control_ 열에 입력합니다. 이벤트 열에 [WaitMessage]를 입력합니다. 인수 열에 [SecondMessage]를 입력합니다. NOT CostingComplete를 조건 열에 입력하고 정렬 열은 비워 둡니다.
- 다음 단계는 WaitForCosting 대화 상자를 생성하는 ControlEvent에 텍스트 컨트롤 속성을 연결합니다. 이렇게 하면 사용자가 WaitForCosting 대화 상자를 열 때마다 설치 관리자가 WaitMessage 속성의 값을 텍스트 컨트롤 특성에 전달합니다.
- EventMapping 테이블에 레코드를 추가하여 WaitForCosting 대화 상자를 여는 SpawnWaitDialog ControlEvent에 텍스트 컨트롤의 텍스트 컨트롤 속성을 구독합니다. Dialog_ 열에 WaitForCosting 대화 상자의 식별자를 입력합니다. 텍스트 컨트롤의 식별자를 Control_ 열에 입력합니다. 이벤트 열에 SpawnWaitDialog를 입력합니다. 텍스트 컨트롤 속성의 식별자인 텍스트를 EventMapping 테이블의 특성 열에 입력합니다.