Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на Pascal / Delphi / Руководство по Borland Pascal.doc
Скачиваний:
81
Добавлен:
02.05.2014
Размер:
2.05 Mб
Скачать

Абстрагирование функций Windows

Приложения Windows управляют своим видом и поведением путем

вызова функций Windows - набора почти из 600 функций, образующий

интерфейс с прикладной программой Windows (API). Каждая функция

воспринимает разнообразные параметры различных типов, которые мо-

гут быть достаточно запутанными. Хотя из Borland Pascal вы можете

непосредственно вызывать любую функцию Windows, ObjectWindows уп-

рощает задачу, предлагая объектные методы, абстрагирующие функци-

ональные вызовы.

Как отмечалось выше, многие из параметров для функций

Windows уже записаны в полях интерфейсных объектов. Таким обра-

зом, методы могут использовать эти данные для подстановки пара-

метров для функций Windows. Кроме того, ObjectWindows группирует

родственные функциональные вызовы в отдельных методах, которые

выполняют задачи более высокого уровня. Результатом является уп-

рощенный и простой в использовании интерфейс API, улучшающий су-

ществующий API Windows.

Хотя такой подход существенно уменьшает вашу зависимость от

сотен функций API Windows, он не запрещает вам вызывать API не-

посредственно. ObjectWindows предлагает лучшее из обоих "миров":

объектно-ориентированную разработку высокого уровня, плюс макси-

мальное управление графической операционной средой.

Автоматизация ответа на сообщения

Кроме сообщения операционной среде Windows, что надо что-то

сделать, большинство приложений должны иметь возможность отвечать

на сотни сообщений Windows, являющихся результатом действий поль-

зователя (например, щелчка кнопкой "мыши"), других приложений или

прочих источников. Корректная обработка сообщений и ответ на них

является решающим для правильной работы вашей программы. Кроме

того, ваша программа должна как-то отвечать на выбор меню, и в

ответ на конкретное сообщение реализовать это не трудно. Но напи-

сание программы, которая знает как отвечать почти на 200 различ-

ных сообщений Windows, также затруднительно, как вызов нужных

функции Windows.

Объекты с их предопределенным поведением (методами) прекрас-

но подходят для задачи ответа на внешние воздействия (сообщения

Windows). ObjectWindows превращает сообщения Windows в вызовы ме-

тодов Borland Pascal. Таким образом, с помощью ObjectWindows вы

просто определяете метод для ответа на каждое сообщение, которое

вам нужно обрабатывать в программе. Например, когда пользователь

щелкает левой кнопкой "мыши", Windows генерирует сообщение

wm_LButtonDown. Если вы хотите, чтобы окно или управляющий эле-

мент в вашей программе реагировали на такие нажатия кнопки "мы-

ши", нужно определить метод WMLButtonDown, настроенный на сообще-

ние wm_LButtonDown. Затем, когда Windows посылает это сообщение,

ваш объект автоматически вызывает определенный вами метод.

Такие методы называются методами ответа на сообщение. Без

объектно-ориентированного программирования и ObjectWindows вам

пришлось бы написать длинный оператор case для каждого окна и уп-

равлять поступлением этого сообщения, отсортировывать вид сообще-

ния и наконец, решать, что с ним делать. ObjectWindows берет на

себя все эти функции.

Соседние файлы в папке Delphi