Добавление текста, хранящегося в свойстве
Пример, описанный в разделе Создание условного условия "Подождите. . . "В окне сообщения отображается диалоговое окно с текстом " Подождите, пока затраты на дисковое пространство завершены". Это можно сделать, просто поместив элемент управления текстом в диалоговое окно и введя текстовую строку в столбец Текст таблицы Control. В этом случае сведения о стиле шрифта должны быть внедрены в строку. Автор должен задать шрифт и стиль шрифта, присвоив строке символов префикс {\style}. Где style — это идентификатор стиля шрифта, указанный в столбце TextStyle таблицы TextStyle. Этот способ добавления текста показан несколько раз в примере установки.
Автор пользовательского интерфейса также может хранить текст в свойстве . В следующем примере показано, как можно использовать ControlEvents для отображения альтернативных текстовых строк.
Цель в этом примере — создать диалоговое окно WaitForCosting во время выполнения фоновой задачи. Разница с новым сценарием заключается в том, что если пользователь отменяет диалоговое окно WaitForCosting , а затем пытается активировать элемент управления до того, как фоновая задача завершится во второй раз, появится поле WaitForCosting с альтернативным сообщением: "Затраты на дисковое пространство по-прежнему выполняются. Вы можете продолжить ждать или вернуться к main поле выбора, чтобы выйти из этой последовательности".
Отображение диалогового окна "Подождите", в котором отображаются альтернативные сообщения
- Начните с добавления условного диалогового окна WaitForCosting в диалоговое окно Выбора, как описано в разделе Создание условного окна "Подождите. . . " Окно сообщения.
- Поместите элемент управления текстом в диалоговое окно WaitForCosting , создав запись в таблице Control. Введите идентификатор диалогового окна WaitForCosting в столбец Dialog_. Введите идентификатор элемента управления Текст в столбец Элемент управления. Укажите тип элемента управления Text в столбце Тип.
- Укажите атрибут элемента управления Position для элемента управления текстом, введя горизонтальные и вертикальные координаты верхнего левого угла элемента управления в столбцах X и Y таблицы Control. Используйте пиксели в качестве единиц расстояния.
- Укажите ширину и высоту текстового элемента управления, введя эти измерения в столбцы Ширина и Высота таблицы Control. Используйте пиксели в качестве единиц длины.
- Свойства и Control_Next столбцы таблицы Control не влияют на элементы управления текстом. В этом случае их можно оставить пустым.
- Укажите атрибуты элемента управления для элемента управления Текст, связанные с битовыми флагами. Сложить отдельные битовые значения и ввести итог в столбец Атрибуты таблицы Control. Это атрибуты элементов управления Visible, Sunken, Enabled, Transparent, NoWrap и NoPrefix . Сочетание битов, отображающих текстовый элемент управления на непрозрачном фоне с обтекающим текстом, равно 0, поэтому введите 0 или оставьте столбец Атрибуты пустым.
- Столбец Text таблицы Control можно оставить пустым. Элемент управления Текст отображает текстовую строку, которая является значением атрибута элемента управления Text . Метод для установки этого атрибута описан в последующих шагах этой процедуры.
- Добавьте запись в таблицу Property , чтобы определить свойство сообщения FirstMessage. Это свойство представляет собой строку, содержащую стиль шрифта и текст для первого сообщения. Введите имя FirstMessage в столбце Свойство. В столбце Значение введите строку "{\WaitStyle}Подождите, пока затраты на дисковое пространство будут завершены". Где WaitStyle — это идентификатор одного из стилей шрифта, перечисленных в столбце TextStyle таблицы TextStyle.
- Добавьте запись в таблицу Property , чтобы определить свойство сообщения SecondMessage. Это свойство представляет собой строку, содержащую стиль шрифта и текст для второго сообщения. Введите имя SecondMessage в столбце Свойство. В столбце Значение введите строку "{\WaitStyle}Затраты на дисковое пространство по-прежнему выполняются. Вы можете продолжить ждать или вернуться к main поле выбора, чтобы выйти из этой последовательности".
- Добавьте запись в таблицу Property , чтобы определить свойство сообщения WaitMessage. Это свойство представляет собой строку, содержащую стиль шрифта и текст для сообщения, отображаемого в диалоговом окне WaitForCosting , если пользователь пытается активировать кнопку до завершения затрат. Введите имя WaitMessage в столбце Свойство. В столбце Значение таблицы Свойство введите: FirstMessage.
- Добавьте setProperty ControlEvent в таблицу ControlEvent , которая инициализирует WaitMessage в FirstMessage при каждом открытии диалогового окна Создание выделения . Введите идентификатор диалогового окна, которое появится непосредственно перед диалоговым окном Выбор в последовательности диалоговых окон в столбец Dialog_. Введите идентификатор элемента управления в этом диалоговом окне, используемом для открытия диалогового окна Выбор в столбце Control_. Введите [WaitMessage] в столбец Событие. Введите [FirstMessage] в столбец Аргумент. Введите 1 в столбец Условие и оставьте столбец Упорядочивание пустым.
- Добавьте setProperty ControlEvent втаблицу ControlEvent , которая устанавливает значение Waitmessage в SecondMessage, если пользователь закрывает диалоговое окно WaitForCosting до завершения затрат на дисковое пространство. Введите идентификатор диалогового окна WaitForCosting в столбец Dialog_. Введите идентификатор элемента управления Текст в столбец Control_. Введите [WaitMessage] в столбец Событие. Введите [SecondMessage] в столбец Аргумент. Введите NOT CostingComplete в столбце Условие и оставьте столбец Упорядочивание пустым.
- На следующем шаге атрибут элемента управления Текст связывается с controlEvent, которое создает диалоговое окно WaitForCosting . Это приводит к тому, что установщик передает значение свойства WaitMessage в атрибут элемента управления Текст каждый раз, когда пользователь открывает диалоговое окно WaitForCosting .
- Подпишите атрибут элемента управления Text элемента управления Text на spawnWaitDialog ControlEvent , которое открывает диалоговое окно WaitForCosting , добавив запись в таблицу EventMapping. Введите идентификатор диалогового окна WaitForCosting в столбце Dialog_. Введите идентификатор элемента управления Текст в столбец Control_. Введите SpawnWaitDialog в столбец Событие. Введите Text, идентификатор атрибута элемента управления Text, в столбец Атрибут таблицы EventMapping.