Разработка Windows-приложений

Кафедра информатики и автоматизации научных исследований

Специальность: Прикладная информатика

Преподаватель: Кумагина Е.А.

Целью преподавания дисциплины «Разработка  WINDOWS-приложений» является обучение студентов основам создания приложений для ОС Windows c использованием библиотеки функций WinAPI. В рамках курса существенное внимание уделяется основным особенностям архитектуры ОС семейства Windows, определяющим структуру и общую схему работы Windows-приложений. В курс включены основные понятия: класс и тип окна, функция окна, сообщение, элементы управления, контекст устройства. Учебный курс рассчитан на студентов, освоивших язык программирования C.

В результате освоения дисциплины обучающийся должен:

Знать: знать структуру и общую схему работы Windows-приложений.

Уметь: проектировать стандартные Windows-приложения, уметь реализовывать средствами библиотеки WinAPI элементы графического интерфейса пользователя, работу с файлами и устройствами ввода-вывода.

Владеть: навыками самостоятельного проектирования Windows-приложений и их реализации на языке С с использованием библиотеки WinAPI.

Содержание

1. Особенности архитектуры ОС семейства Windows, важные с точки зрения разработки приложений. История выпусков версий Microsoft Windows. Структура и особенности ОС Windows. Интерфейс графических устройств GDI и драйверы устройств. Библиотеки динамической загрузки DLL. Механизм сообщений.

2. Windows-приложение с регистрацией класса окна и циклом обработки сообщений. Простейшее приложение для Windows («Hello, World!»). Общая схема работы Windows-приложения. Окно и функция окна. Цикл обработки сообщений. Подробный анализ кода.

3. Типы окон. Стиль класса окна. Стиль окна. Перекрывающиеся, временные и дочерние окна. Элементы управления. Обработка сообщения WM_COMMAND.

4. Вывод информации в окно. Понятие контекста отображения. Способы получения контекста отображения. Обработка сообщения WM_PAINT. Атрибуты контекста отображения: цвет текста, цвет фона, режим фона, режим рисования, кисти, перья. Рисование точки, прямой и ломаной лини, дуги эллипса, прямоугольника, заливка цветом.

5. Мышь, таймер. Виды сообщений, поступающие от мыши. Работа с курсором мыши. Понятие таймера. Создание и уничтожение таймера. Сообщение WM_TIMER. Подключение таймера к окну.

6. Работа с файлами. Особенности работы с файлами в мультизадачной среде. Функции Windows для работы с файлами (создание, удаление, открытие, закрытие, чтение, запись, позиционирование, работа со стандартными диалоговыми функциями).

Лабораторный практикум

Обучающиеся выполняют практические работы на языке С, используя любую среду разработки приложений с применением функций библиотеки WinAPI. Не разрешается использовать специальные библиотеки классов, такие как MFC или VCL.

  1. Создание простейшего приложения при помощи мастера приложений Win32 Microsoft Visual Studio.
  2. Создание приложения, содержащего родительское и дочернее окно, созданные на базе различных классов. Управление дочерним окном (изменение размеров и положения) при помощи сообщений от родительского окна.
  3. Работа с контекстом отображения. Вывод на экран текста и рисование геометрических фигур. Работа с сообщением WM_PAINT.
  4. Работа с различными органами управления (кнопки, списки, статический текст). Работа с сообщением WM_COMMAND.
  5. Создание приложения, обрабатывающего сообщения от мыши WM_LBUTTONDOWN, WM_LBUTTONUP.
  6. Создание приложения использующего стандартные диалоги для открытия и сохранения файлов, чтение из файла, запись в файл. Работа со стандартными диалоговыми функциями

Литература

а) основная литература:

  1. Рихтер Дж. Windows для профессионалов: создание эффективных Win32-приложений с учетом специфики 64-разрядной версии Windows. 4-е издание. – СПб: Питер; М.: Издательско-торговый дом «Русская Редакция», 2004. — 749 с.: ил.
  1. Петцольд Ч. Программирование для Windows. – М.: Русская редакция Microsoft Press, 1998.
  2. Румянцев П.В. Азбука программирования в Win 32 API. – М.: «Горячая Линия – Телеком», 2004.

б) дополнительная литература:

  1. Шилдт Г. С++: базовый курс. – М.: «Диалектика», 2009.
  2. Румянцев П.В. Работа с файлами в Win 32 API. – М.: «Горячая Линия – Телеком», 2002.
  3.  Фролов А.В., Фролов Г.В. Библиотека системного программиста. т. 11-14. М.: «Диалог-МИФИ», 1994.

в) программное обеспечение и Интернет-ресурсы

  1. http://msdn.microsoft.com/
  2. http://www.unn.ru/books/met_files/WinAPI_practice.doc
  3. http://www.unn.ru/books/met_files/WinAPI_theory.doc

Отчетность

  • Семестр 3: Экз