Кафедра
№ 11, «Экспериментальные методы ядерной физики»
ПРОГРАММИРОВАНИЕ Windows на С++
(для группы Т7-11)
1 неделя
Сравнительные характеристики операционных
систем MS-DOS и Windows. Режимы работы современных процессоров фирмы Intel:
реальный, защищенный и режим виртуального 86 процессора. Основные особенности
защищенного режима. Селекторы и дескрипторы. Таблицы дескрипторов. Принципы и
возможности адресации памяти. Принципы защиты. Исключения. Обработка
исключений. Виртуальная память. Особенности операционных систем защищенного
режима.
2 неделя
Несовместимость реального и защищенного
режимов. Выполнение программ реального режима (DOS-приложений) под управлением
системы Windows. Состав виртуальной машины DOS. Эмуляция программных и
аппаратных ресурсов DOS.
3 неделя
Основы разработки приложений Windows.
16-разрядные и 32-разрядные приложения. Использование различных языков и систем
программирования. Процедурное, объектно-ориентированное и визуальное
программирование. Инструментальные пакеты и файлы для разработки приложений
Windows. Символические константы, макросы, прототипы функций.
4 неделя
Стандартная Windows-программа. Основные
составляющие приложения Windows: главная функция и оконная процедура. Главная
функция WinMain. Образование и обработка сообщений Windows. Сообщения низкого и
высокого уровней. Содержание функции WinMain: регистрация класса окна, создание
окна, цикл обработки сообщений.
5 неделя
Создание главного окна. Стили окна.
Оконная процедура главного окна. Прикладная обработка сообщений и обработка по
умолчанию. Процедура завершения Windows-приложения. Многократный запуск
приложения. Окна сообщений и их использование в диагностических целях.
6 неделя
Роль сообщений WM_PAINT и их
обработка. Контекст устройства. Функции BeginPant и EndPaint. Интерфейс
графических устройств (GDI) и его функции. Вывод текста. Структура TEXTMETRIC и
характеристика шрифта. Вывод на экран простых геометрических фигур. Инструменты
рисования: перо и кисть. Создание и использование новых инструментов.
Использование макроса HANDLE_MSG для упрощения структуры Windows-приложения.
7 неделя
Файл ресурсов, его создание и
редактирование. Инструментальное средство Resource Workshop. Файлы заголовков и
проекта. Описание меню и модального диалога в файле ресурсов. Органы управления
предопределенных классов: поле с текстом, нажимаемая кнопка. Обработка
сообщений WM_COMMAND от пунктов меню. Создание и закрытие модального диалога.
Оконная процедура модального диалога.
8 неделя
Стандартные диалоги Windows для работы с
файлами. Чтение двоичного файла. Вывод точечного графика. Рабочая область окна
и функция InvalidateRect. Немодальные диалоги. Органы управления
предопределенных классов: радиокнопки, рамки, списки. Создание и обслуживание
немодального диалога.
9 неделя
Организация дочерних окон. Регистрация
класса и создание дочернего окна в процессе обработки сообщения WM_CREATE.
Оконная процедура дочернего окна. Работа со шрифтами в системе Windows.
Встроенные, физические и логические шрифты. Создание шрифта.
10 неделя
Вывод растровых изображений. Хранение
растровых изображений. Совместимая область памяти, совместимый контекст.
Загрузка растрового изображения в совместимую память. Формирование изображения
в совместимой памяти с помощью функций GDI. Копирование содержимого совместимой
памяти в окно приложения. Функции BitBlt и StrechBlt. Использование совместимой
памяти для хранения и быстрого вывода изображений.
11 неделя
Дочерние окна предопределенных классов и
классов, определенных пользователем. Создание кнопок в главном окне. Обслуживание
кнопок с помощью посылки им сообщений функцией SendMessage. Обработка сообщений
от кнопок. Использование областей вырезки для повышения качества и ускорения
перерисовки изображения. Таймеры Windows. Создание таймера. Обработка сообщений
от таймера.
12 неделя
Основные принципы
объектно-ориентированного программирования. Классы и объекты (экземпляры).
Данные-члены и функции-члены. Открытые, закрытые и защищенные данные и функции.
Создание экземпляров класса и вызов функций-членов.
13 неделя
Конструкторы и деструкторы. Конструкторы
с инициализацией и с инициализацией по умолчанию. Перегрузка функций.
Перегрузка конструкторов. Перегрузка операторов.
14 неделя
Наследование. Базовые и производные
классы. Замещение функций-членов базовых классов в производных. Оператор
разрешения видимости. Вызов конструктора базового класса. Множественное и
виртуальное наследование. Виртуальные функции.
15 неделя
Использование объектно-ориентированного
программирования при разработке приложений Windows. Библиотеки объектов.
Библиотека ObjectWindows Library 2.5 для C++. Простейшее приложение Windows.
Структура приложения. Пользовательские классы, производные от классов
TApplication и TWindowFrame. Функция OwlMain. Ход выполнения приложения.
16 неделя
Иерархия GDI-классов. Использование
функций и инструментов GDI для построения графических изображений. Обработка
сообщений Windows. Таблица откликов. Создание меню и обработка сообщений от
пунктов меню. Модальный диалог. Реализация органов управления и работа с ними.
Лабораторные занятия
1-2 недели
Освоение работы с системой Windows.
Создание собственной группы для запуска прикладных программ. Создание тестового
приложения DOS. Запуск приложения DOS в среде Windows. в однозадачном и
многозадачном режимах. Создание PIF-файлов для задания характеристик приложений
DOS. Исследование характеристик сеансов DOS.
3-4 недели
Разработка простейшего приложения
Windows. Создание главного окна. Повторные экземпляры приложения. Исследование
дескрипторов Windows. Окно сообщения.
5-6 недели
Вывод текста и простых геометрических
фигур. Работа с контекстом устройства. Макрос HANDLE_MSG.
7-8 недели
Ресурсы: меню и модальный диалог.
9-10 недели
Стандартные диалоги Windows. Вывод на
экран графика по экспериментальным точкам.
11-12 недели
Использование немодального
диалога для настройки формы графика на экране. Дочерние окна и вывод в них
информации.
13-14 недели
Логические шрифты. Создание шрифтов с
требуемыми характеристиками. Подготовка и вывод на экран растровых изображений.
15-16 недели
Дочерние окна предопределенных классов и
классов, определенных пользователем. Таймеры Windows.
ЛИТЕРАТУРА
1.** |
|
Поттс С., Монк Т.С. BORLAND C++ в примерах/ Пер. с англ. - Минск: ООО
"Поппури", 1996. - 752 с. |
2.* |
681.3 К-17 |
Калверт Ч. Программирование в Windows: Освой
самостоятельно за 21 день. - Пер. с англ. – М.: БИНОМ, 1995. - 496 с. |
3.* |
681.3 С-24 |
Сван Т. Программирование для Windows в Borland C++: Пер. с
англ.-М.: Восточная Книжная Компания.- 480 с. |
4.* |
519 Ш 57 |
Шилдт Г. Программирование на С и С++ для Windows
95-К.:Торгово-издательское бюро BHV, 1996 - 400 c. |
* Книга находится в читальном зале.
** Книги в библиотеке МИФИ нет.
|