Программирование под Win32


Программирование для Windows с помощью библиотеки объектов OWL - стр. 9


#include <owl\applicat.h> #include <owl\framewin.h>

Реально, однако, в первой директиве нет необходимости. Дело в том, что в заголовочном файле framewin.h содержится директива #include <owl\window.h> с описанием класса TWindow, а в файле win-dow.h имеется целая группа директив #include, среди которых есть и директива #include <owl\applicat.h>. Таким образом, эту директиву в прикладную программу можно не включать.

Почему перед именами заголовочных файлов указывается вышележащий каталог OWL? Дело в том, что программный пакет системы Borland C++ состоит из нескольких тысяч файлов, организованных в виде сложной иерархической структуры каталогов. Все include-файлы помещены в ветвь этой структуры с именем include, однако в этом каталоге, наряду с некоторым количеством заголовочных файлов, име­ются еще и нижележащие каталоги. Заголовочные файлы, описывающие классы OWL, помещены в под­каталог с тем же именем (рис. 25.5).


Простейшее OWL-приложение Windows                                                                       227

Поскольку в настройках Borland C++ в качестве каталога для включаемых файлов обычно указывает­ся каталог \bc5\include, а нужные нам файлы расположены ниже, в подкаталоге OWL, в программе необ­ходимо указывать оставшуюся часть пути к включаемым файлам, начиная от каталога include.

Заголовочные файлы имеют содержательные имена, и не составляет труда найти в них описание лю­бого интересующего нас класса. Например, описания целого ряда классов контекстов устройств (TDC, TPaintDC и др.) содержатся в файле dc.h, описание класса управления сообщениями TEventHandler - в файле eventhan.h, описания многочисленных классов GDI-объектов, т.е. графических инструментов (TBitmap, TBrush, TPen, и т.д.) - в файле gdiobjec.h.

Описания классов, содержащиеся в заголовочных файлах, включают в себя типы данных-членов и прототипы функций-членов. Это чрезвычайно полезная информация, помогающая разобраться в струк­туре используемых в приложении классов и в допустимых способах обращения к их функциям или дан­ным. Однако во многих случаях работа с библиотечным классом, в частности, образование от него про­изводного класса и замещение его функций требует знакомства с исходными текстами конструкторов и других функций-членов библиотечных классов. Исходные тексты классов Borland C++ хранятся в ката­логе source (см. рис. 25.5), причем тексты библиотеки OWL находятся в подкаталоге с тем же именем.




Начало  Назад  Вперед



Книжный магазин