Шаг 30.
Visual Prolog.
Окна

    На этом шаге мы рассмотрим окна.

    Окно представляет собой прямоугольное пространство на экране. Окно используется приложением для вывода и ввода данных. Все пространство экрана рассматривается как специальное "экранное окно". Каждое окно разделяет экран с другими окнами включая окна иных приложений, а иногда и операционной системы. Эти окна могут перекрывать друг друга.

    Независимо от того, сколько приложений одновременно запущено, в любой момент времени активизировано лишь одно окно, т. е. только это окно может получать входные данные от пользователя. Активное окно всегда находится поверх остальных окон. Для взаимодействия с этим окном (а следовательно, и с основным приложением) пользователь может использовать мышь, клавиатуру или другие устройства ввода данных. Окна - это единственный инструмент приложения для взаимодействия с пользователем, поэтому одними из первых функций каждого приложения являются функции создания и отображения окна. Первое созданное окно каждого приложения называется окном Task и представляет приложение в целом, являясь приемником сообщений, предназначенных для всего приложения. Это окно может быть скрытым (невидимым).

    Все предикаты динамического создания окон формируют структуру в памяти, затем они отображают окно согласно этой управляющей структуре и присваивают окну дескриптор, который является уникальным номером. Дескрипторы присваиваются всем окнам, как видимым, так и скрытым. Почти все остальные VPI-предикаты в качестве входного параметра требуют дескриптор окна для доступа к нему. Загружаемые и готовые для использования ресурсы всех видов также имеют идентификаторы или дескрипторы, с помощью которых к ним можно обращаться.

    Каждое окно или диалоговое окно в приложении представлены не только структурой памяти, но также и предикатом обработчика событий окна, которому VPI посылает сообщения при возникновении пользовательских или системных событий, связанных с окном. Причем эти сообщения не обязательно синхронизированы с приложением. Приложение также может посылать события любому из своих обработчиков событий. В VPI названия событий из домена событий всегда имеют префикс е_.

    На следующем шаге мы рассмотрим типы окон.




Предыдущий шаг Содержание Следующий шаг