- •7)Понятие структурного программирования. Базовые конструкции структурного программирования. Оператор «выражения».
- •8)Операторы ветвления. Условный оператор if. Оператор switch.
- •10)Операторы передачи управления. Оператор goto. Оператор break. Оператор continue. Оператор return.
- •11) Указатели. Инициализация указателей. Операции с указателями. Ссылки.
- •12)Массивы. Динамические массивы. Строки.
- •13)Типы данных, определяемые пользователем. Переименование типов. Перечисление.
- •14)Типы данных, определяемые пользователем. Структуры. Битовые поля. Объединения.
- •15)Функции. Объявление и определение функций.
- •16)Способы обмена данными между функциями. Глобальные переменные. Возвращаемое значение. Параметры функции. Передача массивов в качестве параметров. Параметры со значениями по умолчанию.
- •17)Рекурсивные функции. Функция main().
- •18)Перегрузка функций.
- •19)Шаблоны функции.
- •20)Директивы препроцессора. Директива #include. Директива #define. Директива #undef.
- •21)Директива препроцессора. Директивы условной компиляции.
- •22)Основные свойства объектно-ориентированного программирования. Понятие класса.
- •23)Классы. Описание класса. Описание объекта. Константные методы. Указатель this.
- •24)Конструкторы. Конструктор копирования. Статические элементы класса.
- •25)Деструкторы. Дружественные функции и классы.
- •26)Перегрузка операций. Перегрузка бинарных и унарных операций.
- •27)Перегрузка операций. Перегрузка операции присваивания. Перегрузка операции приведения типа. Перегрузка операции индексирования.
- •28)Наследование. Ключи доступа к элементам базового класса. Простое наследование.
- •29)Виртуальные методы. Механизм позднего связывания.
- •30)Абстрактные классы. Множественное наследование.
- •31)Шаблоны классов. Создание шаблонов. Использование шаблонов класса.
- •35)Форматирование данных при вводе - выводе в поток. Флаги и манипуляторы.
- •38)Модель программирования для os Windows. Механизм обработки сообщений в Windows. Группы сообщений.
38)Модель программирования для os Windows. Механизм обработки сообщений в Windows. Группы сообщений.
Модель программирования в Windows:
- обработка сообщений
WinMail – главная функция (создание главного окна программы, у которого должен быть код обработки сообщений, поступающих от системы)
- имя сообщения – WM_Уникальное_Имя
- WM_CREATE – создание окна
- WM_LBUTTONDOWN – нажатие левой кнопки мыши
WM_CHAR – ввод символа
WM_CLOSE – закрытие окна
- интерфейс графического устройства – слой абстрагирования от оборудования (Graphical Dews Interface GDI)
- контекст устройства (device interface) – структура связанная с физическим устройством
- программирование с использованием ресурсов
- динамически подключенные библиотеки (DLL)
- интерфейс прикладного программирования (Windows API)
Обработка сообщений:
Группы сообщений Windows:
1) оконные сообщения:
- сообщения, предназначенные для обработки в функции окна
- все с префиксом WM_, кроме WM_COMMAND
- оконные классы MFC имеют поле-идентификатор окна
2) сообщения от элементов управления:
- сообщения WM_COMMAND, которые посылают дочерние окна своему родительскому окну
3) команды:
- сообщения WM_COMMAND от меню, кнопок панели управления и др.
- у команды есть идентификатор
Карта сообщений:
- в MFC для обработки сообщений используется специальный механизм – “Message Map”
- таблица сообщений состоит из набора специальных макрокоманд
- начинаться таблица должна с макрокоманды BEGIN_MESSAGE_MAP и заканчиваться END_MESSAGE_MAP
- между ними расположены макрокоманды, отвечающие за обработку отдельных сообщений
BEGIN_MESSAGE_MAP имеет 2 параметра:
1) имя класса, для которого создается таблица
2) базовый класс данного класса
BEGIN_MESSAGE_MAAP (CMyWindow, CWnd)
макрокоманды:
1) ON_WM_имя – обработка стандартных оконных сообщений
- обрабатывает стандартные сообщения Windows
- для обработки сообщений, определенных в таблице макрокомандами ON_WM_имя, вызываются одноименные методы
2) ON_MESSAGE – обработка сообщений, определенных пользователем
- ON_MESSAGE (message, memberFunction)
3) ON_COMMAND – обработка команд
- ON_COMMAND (id, memberFunction)
4) ON_имя – обработка сообщений от элементов управления
- не имеет обработчиков по умолчанию
- ON_BN_CLICKED (id, memberFunction)
