Математика | ||||
Паскаль и Windows-Фаронов В.В.ДИДАКТИК", 1995. — 539 с., вд. | ||||
Фаронов В.В.
Ф24 Паскаль и Windows.—М.: Учебно —инженерный центр "МВТУ—ФЕСТО ДИДАКТИК", 1995. — 539 с., вд. В книге рассматриваются вопросы использования системы программирования Borland Pascal with Objects™ 7.0 для разработки прикладных программ, рассчитанных на работу под управлением операционной оболочки Windows™ 3.1. Основная часть книги посвящена детальному изучению принципов организации и особенностей использования объектно — ориентированной библиотеки ObjectWindows™. В третьей части книга обсуждаются проблемы непосредственного доступа к ядру Windows™ для реализации интерфейса графических устройств и управления системными ресурсами. Изложение иллюстрируется многочисленными примерами программ. В приложениях приводится полный справочник по -объектам ObjectWindows'", a также перечисляются стандартные сообщения и функции ядра Windows™. Для широкого круга пользователей системы программирования Turbo Pascal™. Оглавление От автора................................................................................................................................13 Часть 1. Введение в программирование для Windows.............................................15 Глава 1. Что такое Windows и Borland Pascal.............................................................................17 1.1. Что такое Windows..................................................................................................i..........17 1.1.1. Почему Windows?.....................................................................................................17 1.1.2. Основные концепции Windows..............................................................................19 1.1.3. Требования к аппаратным ресурсам.....................................................................25 1.2. Что такое Borland Pascal with Objects.............................................................................25 1.2.1. Почему Паскаль?.......................................................................................................25 1.2.2. Основные концепции Borland Pascal.....................................................................28 1.2.3. Состав поставки........................................................................................................38 1.3. Введение в ООП.................................................................................................................39 1.3.1. Место ООП в современной технологии программирования...........................39 1.3.2. Основные принципы ООП......................................................................................40 1.3.3. Постановка учебной задачи....................................................................................41 1.3.4. Создание объектов.............................................................:......................................42 1.3.5. Использование объектов.........................................................................................48 Глава 2. Начало работы...................................................................................................................52 2.1. Проблема кириллицы.........................................................................................................52 2.2. Настройка среды"................................................................................................................53 2.3. Соглашения об именах......................................................................................................54 2.4. Эмуляция текстового режима..........................................................................................55 2.4.1. Переменные модуля WinCRT..................................................................................56 2.4.2. Процедуры и функции.............................................................................................57 Глава 3. Введение в библиотеку ObjectWindows........................................................................59 3.1. Создание главного окна....................................................................................................59 3.1.1. Простейшее окно......................................................................................................59 3.1.2, Окно с заголовком....................................................................................................60 3.2. Отклик на события.............................................................................................................62 3.2.1, Отклик на нажатие левой кнопки мыши.............................................................62 3.2.2. Отклик на закрытие окна........................................................................................64 3.3. Вывод текста........................................................................................................................67 3.3.1. Вывод в главное окно программы.........................................................................68 3.3.2. Модификация контекста устройства....................................................................70 3.3.3. Восстановление текста в окне................................................................................72 3.3.4. Окно со скроллером.................................................................................................74 3.3.5. Редактор файлов TFileWindow...............................................................................77 3.4. Вывод графики....................................................................................................................78 3.4.1. Работа с пером..........................................................................................................78 3.4.2. Работа с кистью........................................................................................................81 3.5. Меню и ресурсы.................................................................................................................83 3.5.1. Общие концепции......................................'...............................................................83 3.5.2. Непосредственное формирование меню..............................................................84 3.5.3. Создание ресурса меню...........................................................................................87 3.6. Диалоговые окна..................................................................................................................91 3.6.1. Создание ресурса диалогового окна.....................................................................92 3.6.2. Загрузка окна из файла ресурсов..........................................................................94 3.6.3. Взаимодействие с окном..........................................................................................95 3.7. Коллекции............................................................................................................................102 3.7.1. Что такое коллекции................................................................................................102 3.7.2. Создание коллекций.................................................................................................102 3.7.3. Работа с коллекцией.................................................................................................103 3.7.4. Запоминание в коллекции линий...........................................................................106 3.8. Потоки..................................................................................................................................110 3.8.1. Регистрация объектов..............................................................................................111 3.8.2. Методы Load и Store.................................................................................................112 3.8.3. Работа с потоками....................................................................................................112 3.8.4, Методы Put и Get......................................................................................................114 3.9. Вывод на печать..................................................................................................................119 3.9.1. Вывод содержимого окна........................................................................................120 3.9.2. Вывод текстового файла.............................................'.............................................121 3.10. Что дальше?.......................................................................................................................124 Часть 2. Обзор объектов ObjectWindows......................................................................125 Глава 4. Общая характеристика объектов ObjectWindows......................................................127 4.1. Иерархия объектов............................................................................................................127 4.1.1. Абстрактные объекты и методы............................................................................127 4.1.2. Функциональные группы объектов.......................................................................129 4.2. Прикладные программы....................................................................................................129 4.2.1. Инициация программы............................................................................................130 4.2.2. Выполнение программы...........................................................................................131 4.2.3. Завершение программы...........................................................................................132 4.3. Интерфейсные объекты....................................................................................................132 4.3.1. Объект TWindowsObject..........................................................................................132 4.3.2. Окна.............................................................................................................................133 4.3.3. Элементы управления..............................................................................................135 4.3.4. Диалоговые окна.......................................................................................................137 4.4. Объекты—контролеры......................................................................................................139 4.5. Коллекции............................................................................................................................140 4.6. Потоки..................................................................................................................................141 4.7. Принтерные объекты.........................................................................................................142 Глава 5. Объекты ObjectWindows и окна Windows...................................................................143 5.1. Окна Windows.....................................................................................................................143 5.1.1. Что представляет собой окно Windows................................................................143 5.1.2. Создание простейшего окна...................................................................................144 5.1.3. Стили окон.................................................................................................................146 5.2. Создание и уничтожение интерфейсных объектов.....................................................147 5.3. Взаимодействие с дочерними окнами............................................................................148 Глава 6. Окна ObjectWindows........................................................................................................151 . 6.1. Умалчиваемые свойства окна...........................................................................................151 6.1.1. Класс............................................................................................................................151 6.1.2. Атрибуты....................................................................................................................152 6.2. Изменение свойств.............................................................................................................152 6.2.1. Изменение класса.....................................................................................................152 6.2.2. Изменение атрибутов...............................................................................................156 6.3. Стандартные окна.......................................................................,......................................157 6.3.1. Окно для создания/редактирования текста TEditWindow................................158 6.3.3. Окно для создания/редактирования файла TFileWindow.................................161 6.4. Вывод в окно.......................................................................................................................162 6.4.1. Метод Paint.................................................................................................................162 6.4.2. Скроллинг изображения..........................................................................................163 Глава 7. Диалоговые окна...............................................................................................................166 7.1. Создание, использование и уничтожение диалоговых окон......................................166 7.1.1. Создание диалоговых окон......................................................................................166 7.1.2. Уничтожение диалога...............................................................................................168 7.2. Взаимодействие с управляющими элементами.............................................................169 7.2.1. Включение в окно управляющих элементов........................................................169 7.2.2. Активизация управляющих элементов.................................................................171 7.2.3. Обмен данными.........................................................................................................173 7.3. Немодальные диалоговые окна........................................................................................177 7.3.1. Создание и уничтожение.,.,.....................................................................................177 7.3.2. Взаимодействие с владельцем.................................................................................178 7.3.3. Пример программы..................................................................................................179 7.4. Типовые диалоговые окна.................................................................................................182 7.4.1. Объект TInpulDialog.................................................................................................182 7.4.2. Объект TFileDialog....................................................................................................183 7.4.3. Функция MessageBox................................................................................................185 Глава 8. Управляющие элементы...................................................................................................186 8.1. Общие свойства управляющих элементов....................................................................186 8.1.1. Создание и уничтожение.........................................................................................186 8.1.2. Взаимодействие с владельцем.................................................................................187 8.1.3. Перемещение активности........................................................................................188 8.2. Стандартные управляющие элементы............................................................................190 8.2.1. Статические элементы.............................................................................................190 8.2.2. Командные кнопки...................................................................................................194 8.2.3. Кнопки выбора..........................................................................................................196 8.2.4. Группы........................................................................................................................197 8.2.5. Редакторы...................................................................................................................197 8.2.6. Списки выбора..........................................................................................................199 8.2.7. Комбинированные списки.......................................................................................202 8.2.8. Полосы управления..................................................................................................203 8.3. Нестандартные управляющие элементы........................................................................207 8.3.1. Разработка и использование...................................................................................207 8.3.2. Библиотека BWCC....................................................................................................208 Глава 9. Многооконный интерфейс приложений (MDI) .........................................................211 9.1. Создание MDI —приложения............................................................................................211 9.1.1. Главное окно — объекты TMDIWindowH TMDIClient......................................211 9.1.2. Дочерние окна...........................................................................................................212 9.2. Управление дочерними окнами.......................................................................................215 9.2.1. Работа с главным меню и акселераторами..........................................................215 9.2.2. Динамическое изменение главного меню............................................................221 Глава 10. Объекты—контролеры...................................................................................................223 10.1. Типы объектов —контролеров........................................................................................223 10.1.1. TPXPictureValidator.................................................................................................223 10.1.2. TFilterValidator....................:....................................................................................224 10.1.3. TRangeValidator........................................................................................................224 10.1.4. TLookupValidator.....................................................................................................224 10/1.5. TStringLookupValidator...........................................................................................225 10.2. Использование объектов —контролеров......................................................................226 10.2.1. Контроль текстового ввода...................................................................................226 10.2.2. Реализация нестандартного контроля.................................................................226 Глава 11. Коллекции.........................................................................................................................228 11.1. Приемы работы с коллекциями.....................................................................................228 11.1.1. Элементы коллекций.............................................................................................228 11.1.2. Создание и уничтожение коллекций...................................................................229 11.1.3. Доступ к элементам коллекции......................................................'......................231 11.2. Отсортированные коллекции.........................................................................................234 11.2.1. Объект TSortedCollection.......................................................................................234 11.2.2. Коллекции строк.....................................................................................................237 11.3. Полиморфные коллекции................................................................................................240 11.4. Коллекции и управление памятью................................................................................243 Глава 12. Потоки...............................................................................................................................244 12.1. Сущность потоков..............................................................................'..............................244 12.2. Регистрация объектов......................................................................................................245 12.3. Создание и удаление потока..........................................................................................247 12.4. Работа с потоком..............................................................................................................248 12.4.1. Методы Put и Get....................................................................................................249 12.4.2. Методы Store и Load........................................................,......................................250 12.4.3. Обработка ошибок..................................................................................................251 12.4.4. Прямой доступ к потокам.....................................................................................251 12.4.5. Использование потоков с произвольными данными.......................................252 Глава 13. Принтерные объекты.....................................................................................................253 13.1. Назначение принтерных объектов................................................................................253 13.2. Использование принтерных объектов..........................................................................254 13.2.1. Создание экземпляра TPrinter...............................................................................254 13.2.2. Создание потомка TPrinlout..................................................................................254 13.2.3. Использование принтерных объектов................................................................255 13.2.4. Пример программы.................................................................................................256 Часть 3. Прямое обращение к API-функциям Windows..........................................261 Глава 14. Сообщения................,......................,...............................................................................263 14.1. Суть сообщений................................................................................................................263 14.1.1. Что такое сообщение..,...........................................................................................263 14.1.2. Цикл обработки сообщений...........................,......................................................263 14.1.3. Умалчиваемая обработка сообщений..................................................................264 14.2. Специфика обработки сообщений в ObjectWindows................................................265 14.2.1. Динамические методы—обработчики.......................................,.........................265 14.2.2. Группы сообщений.................................................................................................267 14.2.3. Оконные сообщения,..............................................................................................267 14.2.4. Пользовательские сообщения..............................,................................................268 14.2.5. Управляющие и нотификационные сообщения................................................268 14.2.6. Командные сообщения.........................................,.................................................270 14.3. Контроль за сообщениями..............................................................................................270 14.3.1. Создание подкласса................................................................................................271 14.3.2. Глобальный контроль и фоновая обработка данных.......................................272 14.4. Посылка сообщений..........................,.........•............••..........................................•...........273 Глава 15. Интерфейс графических устройств....................................•.............:.........................274 15.1. Контекст устройства...............,..,.,...;„.,.................,..,.........,..........,.................................274 15.1.1. Системы координат................................................................................................274 15.1.2. Другие атрибуты контекста..;..........-.....,......:......................................................276 15.1.3. Работа с контекстом...........,....».„..................................,.......................................277 15.1.4. Цвет...................................„..................„...........,........,.............................................280 15.2. Вывод текста......................................................................................................................281 15.2.1. Техника вывода........„,............................................................................................281 15.2.2. Текстовые API—функции..................,...................................................................284 15.2.3. Выбор шрифта.........................................................................................................289 15.3. Работа с пером..................................................................................................................295 15.3.1. Параметры пера......................................................................................................295 15.3.2. Функции для работы с пером.......................•.......................................................296 15.4. Работа с кистью................................................................................................................300 15.4.1. Параметры кисти....................................................................................................300 15.4.2. Создание и заполнение произвольных областей..............................................303 15.5. Работа с растровыми изображениями.........................................................................305 15.5.1. Курсоры.........................................................,..........................................................305 15.5.2. Пиктограммы...........................................................................................................307 15.5.3. Растровые изображения........................................................................................308 15.6. Метафайлы..........................................................-•..............................................................310 Глава 16. Использование системных ресурсов..,..,.....................................................................312 16.1. Работа с памятью....................................................,.........................................................312 16.1.1. Резервирование, использование и освобождение памяти..............................312 16.1.2. Функции управления памятью.............................................................................313 16.2. Работа с файлами.............................................................................................................317 16.3. Работа с клавиатурой......................................•.............................•..........•.......................320 16.3.1. Сообщения от клавиатуры....................................................................................320 16.3.2, Функции для работы с клавиатурой....................................................................323 16.4. Работа с таймером...........................................................................................................327 16.5. Использование стандартных окон Windows................................................................329 16.5.1. Окно для выбора цвета..........................................................................................330 16.5.2. Окно для выбора шрифта......................................................................................331 16.5.3. Окно для ввода образцов поиска и поиска/замены........................................333 Глава 17. Обмен данными между программами и окнами.......................................................334 17.1. Использование буфера Clipboard..................................................................................334 17.1.1 Форматы данных......................................................................................................334 17.1.2. Механизм использования Clipboard.....................................................................334 17.1.3. Функции для работы с Clipboard........................-...............................................335 17.1.4. Пример программы.............................,...................................................................337 17.2.Технология «перетаскивания» файлов................... Цена: 300руб. |
||||