TURBO PASCAL

Новости

Программы   

Turbo Pascal 

Игры

Документация   

Странности

FAQ

Ссылки

Форум

Гостевая книга

Рассылка

Благодарности

Об авторе

 

 

Лучший интерфейс с Windows 

             ObjectWindows использует объектно-ориентированные расширения
        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 берет на
        себя все эти функции.

Содержание

На первую страницу

Rambler's Top100 Rambler's Top100
PROext: Top 1000

(с)Все права защищены

По всем интересующим вопросам прошу писать на электронный адрес

Hosted by uCoz