Содержание
- 2. СПбПУ 6- Интерфейс графических устройств (Graphical Device Interface, GDI) GDI представляет собой совокупность программных средств Windows,
- 3. СПбПУ 6- GDI предоставляет программисту более двухсот функций для управления режимами вывода и построения на экране
- 4. СПбПУ 6- GDI участвует в организации графической оболочкой многослойного экранного кадра на экране может быть одновременно
- 5. СПбПУ 6- Одним из наиболее важных системных средств является сообщение WM_PAINT //Программа Сообщение WM PAINT /*0ператоры
- 6. СПбПУ 6- /*Прототипы используемых в программе функций пользователя*/ LRESULT CALLBACK WndProc(HWND,UINT, WPARAM, LPARAM); //Оконная функция void
- 7. СПбПУ 6- /* Главная функция WinMain*/ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR, int) { char szClassName[]="MainWindow";
- 8. СПбПУ 6- /* Регистрация класс главного окна*/ memset (&wc, 0, sizeof (wc) ); //Обнуление всех членов
- 9. СПбПУ 6- /*Создадим главное окно и сделаем его видимым*/ HWND hwnd=CreateWindow(szClassName,szTitle,//Класс и заголовок окна WS_OVERLAPPEDWINDOW,10,10,300,100,//Стиль окна,
- 10. СПбПУ 6- /*0рганизуем цикл обработки сообщений*/ while(GetMessage(&Msg,NULL,0,0)) //Цикл обработки сообщении: ждать DispatchMessage(&Msg); //сообщения, записать его в
- 11. СПбГПУ 6- /*0конная функция главного LRESULT CALLBACK WndProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam) { switch(msg) { //Переход
- 12. СПбПУ 6- /*Функция обработки сообщения WM_DESTROY*/ void OnDestroy(HWND) { PostQuitMessage(0);//Вызов функции Windows завершения приложения }
- 13. СПбПУ 6- /*Функция обработки сообщений WM_PAINT*/ void OnPaint(HWND hwnd){ char szText[]="Строка текста для вывода в главное
- 14. СПбПУ 6- Функция OnPaint() Программный блок обработки сообщений WM_PAINT выделен в функцию OnPaint(). Соответственно в раздел
- 15. СПбПУ 6- Обработка сообщений WM_PAINT Сообщения WM_PAINT выделяются среди всех остальных тем, что их обработка включается
- 16. СПбПУ 6- Выделим несколько типичных ситуаций. Если мы с помощью мыши или клавиатуры перемещаем окно приложения
- 17. СПбПУ 6- Сообщение WM_PAINT Программа в ответ на сообщение WM_PAINT должна сама восстановить все, что должно
- 18. СПбПУ 6- Рабочая область окна Главное окно приложения обычно имеет заголовок с управляющими кнопками толстую рамку
- 19. СПбПУ 6- Контекст устройства. Обработка сообщения WM_PAINT связана с использованием важнейшего поля данных Windows, называемого контекстом
- 20. СПбПУ 6- Пример функция вывода линии получает из контекста устройства толщину цвет пера (через дескриптор пера)
- 21. СПбПУ 6- Дескриптор контекста Контекст устройства становится известен графическим функциям GDI через дескриптор контекста, который для
- 22. СПбПУ 6- Вывод изображения в окно Таким образом, для того чтобы вывести в окно некоторое изображение,
- 23. СПбПУ 6- Все перечисленные действия выполняются в функции OnPaint(). Для получения контекста устройства предусмотрена функция BeginPaint(),
- 24. СПбПУ 6- Программа вывода строки В нашей программе дескриптор контекста устройства поступает в переменную hdc. В
- 25. СПбПУ 6- Структурная переменная типа PAINTSTRUCT Функции BeginPaint() и EndPaint() используют структурную переменную (в нашем случае
- 26. СПбГПУ 6- Структура PAINTSTRUCT Структура PAINTSTRUCT, заполняемая Windows каждый раз, когда приложение перехватывает обработку сообщения WM_PAINT,
- 27. СПбПУ 6- Область вырезки rcPaint typedef struct tagRECT { int left; //x-ко ордината левого верхнего угла
- 29. Скачать презентацию