TURBO PASCAL |
Новости
|
Лучший интерфейс с WindowsObjectWindows использует объектно-ориентированные расширения Borland Pascal для инкапсуляции прикладного программного интер- фейса Windows (API), скрывая от вас детали программирования для Windows. В результате вы можете использовать IDE для Windows Borland Pascal для написания программ Windows, затрачивая сущест- венно меньше времени и усилий, чем это потребовалось бы при не- объектно-ориентированном программировании. ObjectWindows предус- матривает три полезных средства: инкапсуляцию информации окна, абстракцию функций API Windows и автоматический ответ на сообще- ния. Интерфейсные объекты Хотя библиотека ObjectWindows определяет объекты для окон, диалоговых окон и управляющих элементов, она предусматривает только поведение объектов, их атрибуты и типы данных. Физической реализацией, визуальным отображением элемента на экране, управля- ет сама Windows. Таким образом, объекты ObjectWindows, которые мы называем интерфейсными объектами, взаимодействуют с соответствую- щими визуальными элементами, которые мы называет интерфейсными элементами. Успешное управление взаимодействием объект/элемент - это ключ к успешному программированию в Windows с использованием ObjectWindows. Взаимодействие объект/элемент осуществляется через описатель окна. Когда вы строите интерфейсный объект, одной из его функций является указание Windows на создание интерфейсного элемента. Windows возвращает идентифицирующий этот элемент описатель, кото- рый объект сохраняет в поле с именем HWindow. Многие функции Windows воспринимают описатель окна в качестве параметра, поэтому сохранение его в поле поддерживает готовность доступа к оконному объекту. Аналогично, поля интерфейсного объекта можно использо- вать для сохранения информации о средствах отображения или инфор- мации о состоянии конкретного окна. Абстрагирование функций 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 берет на себя все эти функции. |
(с)Все права защищены По всем интересующим вопросам прошу писать на электронный адрес |