- •Процедурное программирование
- •Регистрация класса окна
- •Создание окна
- •Командная строка приложения
- •Функции окна приложения
- •Сообщение wm_destroy
- •Вывод в рабочую область окна
- •Контекст устройства и область отрисовки.
- •Сообщение wm_paint
- •Окно-список
- •Заполнение окна-списка
- •Список файлов
- •Изменение цвета органов управления
- •Комбинированный список
- •Меню и назначение клавиш
- •Создание описания меню в файле ресурсов
- •Сообщения меню
- •Диалоговые окна ( диалоги )
- •Определение диалоговых окон в файле ресурсов
- •Диалоговое окно About
- •Функция диалогового окна
- •Взаимодействие с органами управления диалоговых окон
- •Окно сообщений
- •Ввод данных
- •Извлечение данных из диалога
- •Ввод - вывод данных посредством передачи сообщений
- •Функция CreateFile ( )
- •Функция WriteFile ( )
- •Отображение файла в память
- •Функция CreateFileMapping().
- •Функция MapViewOfFile()
- •Работа с отображенным файлом
- •И н т е р ф е й с графических устройств (gdi)
- •Контекст устройства
- •Получение индекса контекста устройства
- •Получение информации из контекста устройства
- •Атрибуты контекста устройства
- •Сохранение изменений в контексте устройства
- •Система координат в Windows
- •Режимы отображения
- •Системы координат
- •Режим mm_text
- •Метрические режимы
- •Режим mm_isotropic
- •Режим mm_anisotropic
- •Вывод графических объектов
- •Двумерные объекты
- •Сегмент и сектор эллипса
- •Библиографический список
Двумерные объекты
Прямоугольник
Прямоугольник является простейшим двухмерным геометрическим объектом, который можно отображать при помощи функций GDI. Для создания прямоугольника используется функция Rectangle:
Rectangle (hDC, xLeft, yTop, xRight, yBottom);
Первый параметр функции определяет контекст устройства, а остальные четыре – соответственно координаты верхнего левого и правого нижнего углов прямоугольника:
xLeft xRight
yTop
y Bottom
Рис. Прямоугольник
Эллипс
Еще одним графическим объектом является эллипс. Показанная на рисунке фигура построена при помощи функции Ellipse. Как видно из рисунка, эллипс задается прямоугольником, в который он вписан.
xLeft xRight
yTop
yBottom
Рис. Эллипс
Функция Ellipse имеет следующий формат:
Ellipse (hDC, xLeft, yTop, xRight, yBottom);
Прямоугольник с круглыми углами
Более общим видом прямоугольника является прямоугольник с круглыми углами. Для его отображения используется функция RoundRect:
RoundRect (hDC, xLeft, yTop, xRight, yBottom, xCornerEllipse, yCornerEllipse);
Первые пять параметров данной функции соответствуют параметрам функции Rectangle, а два последних определяют диаметр по оси x и по оси y эллипса, дуги которого используются как углы прямоугольника:
xLeft xRight
yTop
yCornerEllipse
yBottom
xCornerEllipse
Рис. Прямоугольник с закругленными углами
Сегмент и сектор эллипса
Последние две функции – Chord и Pie – используются соответственно для рисования сегментов и секторов эллипса; их параметры полностью аналогичны параметрам, используемым для определения линии элипса:
Chord (hDC, xLeft, yTop, xRight,yBottom, xBegin, yBegin, xEnd, yEnd);
Pie (hDC, xLeft, yTop, xRight, yBottom, xBegin, yBegin, xEnd, yEnd);
xLeft xEnd xRight
yTop
xBegin
yBegin
yBottom
Рис. Сектор эллипса
Многоугольник
Для рисования многоугольников с двумя или более углами используется функция Polygon. Формат вызова функции приведен ниже:
bFlag = Polygon (hDC, lpPoints, nCount);
Первый параметр функции содержит индекс контекста устройства. Второй параметр содержит указатель на массив структур данных типа POINT, где каждая структура содержит координаты одного угла многоугольника. Последний параметр определяет количество углов многоугольника.
Если функция завершилась успешно, то она возвращает ненулевую величину.
Библиографический список
Петзолд Ч. Программирование для Windows 95. т.1, т.2 - М.: "BHV-Санкт-Петербург",1996.
С.А.Гладков, Г.В.Фролов. Программирование в Microsoft Windows. Ч. 1,2.- М.: "Диалог МИФИ",1992.
Шилдт Г. Программирование для Windows.
Составитель: Литвиненко Василий Афанасьевич
Процедурное программирование на С++ для Windows. Материалы к лекциям по курсу «Программирование на языках высокого уровня». Таганрог: Изд-во ТРТУ, 2004.
Для студентов специальностей
220300 всех форм обучения
Ответственный за выпуск Литвиненко В.А.
ЛР № 020565 Формат 60 ´ 84 1/16
Бумага офсетная Печать офсетная
Усл.п.л. – 5.0 Уч.-изд. л.-4,5
Заказ № 180 Тираж 100 экз.
ã
Т ипография Таганрогского государственного радиотехнического университета
ГСП 17 А, Таганрог, 28, Энгельса, 1.