Руководство разработчика

Всплывающие сообщения, подсказки и приглашения ввода

У всех полей ввода, кроме полей ввода даты, времени, чисел и многострочного текста, можно указывать строку-приглашение. Строка-приглашение обычно содержит поясняющий текст, о том что должно содержаться внутри поля ввода. Текст строки-приглашения отображается серым цветом. Как только происходит установка фокуса на поле ввода строка-приглашение не отображается внутри него. Задать строку-приглашение можно из Редактора форм в Инспекторе объектов в поле приглашение у объектных типов полей ввода.

Для всех полей ввода реализованы всплывающие подсказки. Всплывающая подсказка отображается при наведении курсора на элемент поля ввода. Текст всплывающей подсказки задается из Редактора форм в Инспекторе объектов в поле подсказка. За отображение всплывающего сообщения в текущей позиции ввода отвечает функция ПОКАЗАТЬ_СООБЩЕНИЕ. Помимо всплывающего сообщения можно задать заголовок сообщения и иконку. Иконка отображается, если у сообщения указан заголовок. Если в качестве заголовка используется пустая строка, то сообщение не содержит заголовка.

Пример

В качестве примера рассматривается использование элемента управления для ввода логина. У поля ввода задано строка-приглашение, подсказка и всплывающее сообщение, отображаемое в случае, если пользователь указал логин, содержащий менее 7 символов.

ТИП Диалог_поля_ввода(ДИАЛОГ)
[
  ...
  РЕДАКТОР: Редактор1 = [ левый = 30,
                          верхний = 195,
                          ширина = 295,
                          высота = 45,
                          табиндекс = 1005,
                          подсказка = "Логин для входа",
                          приглашение = "Введите логин",
                          изменение = {Логин_проверка}
                          ];

  ФУНКЦИЯ Логин_проверка(ПЕРЕМ РЕДАКТОР: редактор)
    ЕСЛИ #редактор.текст < 7 ТО
      редактор.ПОКАЗАТЬ_СООБЩЕНИЕ("Предупреждение", "Логин должен содержать не менее 7 символов",
	  "#WARNING")
    КОНЕЦ_ЕСЛИ
  КОНЕЦ_ФУНКЦИИ
]

ВЫЧИСЛИТЬ
  ПЕРЕМ Диалог_поля_ввода: д
  // д <- данные
  ЕСЛИ д.ПОКАЗАТЬ_МОДАЛЬНЫЙ <> "" ТО
    // д -> данные
  КОНЕЦ_ЕСЛИ
КОНЕЦ

См. также: