- •2) Виртуальная память
- •3) Вывод информация в окно с помощью классов из библиотеки mfc.
- •4) Иерархия классов библиотеки mfc.
- •5 Императивное, функциональное и логическое программирование. Сходство и различие.
- •6)Контейнерные классы библиотеки mfc.
- •7)Контекст устройства. Классификация контекстов устройств. Функции работы с контекстами устройств
- •8. Назначение и Классификация ппп
- •9) Направления интеллектуализации пакетов прикладных программ.
- •10.Направления интеллектуализации ппп. Типология задач интеллектуализации.
- •11) Обработка исключений с помощью библиотеки mfc.
- •12)Обработка сообщений в библиотеке mfc
- •13) Общая характеристика ппп. Функциональное и системное наполнение ппп. Типовые проекты ппп.
- •14) Объекты в Win32. Классификация объектов. Функции работы с объектами Win32.
- •16)Организация асинхронного ввода. Сообщения от манипулятора типа «мышь». Сообщения от клавиатуры (см также 33!!!)
- •17 Организация взаимодействия процессов и потоков в Win32.Процессы и потоки в Win32. Приоритеты. Планирование
- •18 Основнные понятия объектно-ориентированного программирования.
- •19) Библиотека stl.
- •21)Полиморфизм. Перегрузка методов и операторов. Виртуальные методы.
- •23) Понятие сериализации.
- •24 Стандартные элементы управления
- •25) Процессы и потоки в Win32. Приоритеты. Планирование процессорного времени. Функции работы с процессами и потоками.
- •26)Архитектура «документ/представление»
- •Глава 20. Документ и его представления
- •Глава 21. Печать и предварительный просмотр документов
- •27) Реализация многопоточных приложений с использованием библиотеки mfc.
- •28 Ресурсы Windows. Способы задания ресурсов Windows-приложения и их использования.
- •29) Системы координат
- •29 Система координат
- •30 Средства реализации взаимного исключения в Win32.
- •31)Стандартные элементы управления и диалоговые панели в библиотеке mfc.
- •32 Структура windows приложения.
- •33) Структура и типология сообщений в Win32. Классиф сообщений. Очередь сооб, ф-ункции работы с ней. (см также 16!)
- •34) Таймер. Назначение, свойства и особенности использования
- •2) Можно заставить Windows пересылать сообщения другой функции этого же приложения.
- •35) Технологии конструирования по
- •36) Шаблоны классов и функций
- •37) Шрифты Типы шрифтов
- •Создание dll
32 Структура windows приложения.
Каркас приложения.
#include <windows.h> – обязательно включаемый файл, содержащий директивы #include для всех остальных стандартных файлов заголовков Windows. windows.h включает в себя много других заголовочных файлов, содержащих объявления функций Windows, структур Windows, новые типы данных и числовые константы.
В любом типовом приложении имеется только две функции: WinMain и WndProc.
WinMain — это точка входа в программу. Это аналог стандартной функции main языка С.
//прототип WinMain
int WINAPI WinMain(
HINSTANCE hInstance, // Дескриптор экземпляра приложения
HINSTANCE hPrevInstance, // В Win32 всегда равен NULL, предыдущий экземпляр
LPSTR lpCmdLine, // Указатель на командную строку.
int nCmdShow ) // Определяет, как приложение первоначально отображается на дисплее:
Регистрация класса окна.
С помощью функции RegisterClassEx регистрируется класс окна.
Класс окна определяет общее поведение нового типа окон, включая адрес новой оконной процедуры.
Указывается: имя класса окон, адрес оконной функции, стиль класса окон, экземпляр приложения, пиктограмма для окон, курсор мыши для окон, кисть для окон, ресурс меню окон, дополнительная память
Создание окна.
CreateWindow- это функция, с помощью которой приложение само создаёт окно и возвращает дескриптор созданного окна.
Дескриптор окна – это один из важнейших описателей, которыми оперирует программа для Windows. Для многих функций Windows требуется дескриптор окна, благодаря которому Windows знает, к какому окну применить функцию.Этот описатель хранится в переменной hWnd, которая имеет тип HWND (описатель окна — handle to a window).
Указывается: имя класса окна, заголовок окна, стиль окна, начальное положение по x и y, начальный размер по x и y, описатели родительского окна, окна меню, экземпляра , параметры создания.
! Нельзя путать понятия класс окна и окно. Класс окна определяет оконную процедуру и некоторые другие характеристики окон, создаваемых на основе этого класса. При создании окна, определяются дополнительные характеристики окна, уникальные для него
Отображение окна.
К тому времени, когда функция CreateWindow возвращает управление программе, окно уже создано внутри Windows. Однако, на экране монитора оно еще не появилось. Необходимы еще два вызова.
ShowWindow(hWnd, nCmdShow); // Отображаем окно.
UpdateWindow(hWnd); // Обновляем содержимое клиентской области окна.
После вызова функции UpdateWindow, окно окончательно выведено на экран.
Цикл обработки очереди сообщений.
После создания и отображения окна функция WinMain должна подготовить приложение к получению информации от пользователя через клавиатуру и мышь.
Windows поддерживает очередь сообщений (message queue) для каждой программы, работающей в данный момент в системе. Когда происходит ввод информации, Windows преобразовывает ее в сообщение, которое помещается в очередь сообщений приложения.
GetMessage – это функция, при помощи которой цикл обработки начинает извлекать сообщения из очереди.
while(GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg); // Преобразование сообщений, полученных с помощью клавиатуры
DispatchMessage(&msg); // Отправляем сообщение оконной процедуре WndProc
}
return msg.wParam;
WndProc — это "оконная процедура" для созданного окна.
// --- прототип WndProc
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
{
return( DefWindowProc(hWnd, message, wParam, lParam));
}
Windows вызывает WndProc: при создании окна, при последующем удалении окна, при изменении размеров окна, при перемещении окна, при свертывании окна, при выборе пункта меню, при манипуляциях с полосами прокрутки или с мышью, сообщение о необходимости перерисовать рабочую область.
DefWindowProc для формировании информационных потоков сообщений W-s, и ее указание обязательно.
Обработка сообщений типового приложения.
WM_CREATE – первое сообщение, обрабатываемое оконной процедурой, производя разовую инициализацию окна.
WM_PAINT - одно из важнейших сообщений для программирования под Windows. Оно сообщает программе, что часть или вся рабочая область окна недействительна (invalid), и ее следует перерисовать.
WM_DESTROY –сообщение, показывающее, что Windows находится в процессе ликвидации окна в ответ на полученную от пользователя команду.