
- •Методичні вказівки до лабораторних робіт по курсу "системне програмування "
- •Методичні вказівки
- •До лабораторних робіт по курсу
- •"Системне програмування "
- •Частина 1. “Програмування для Windows 95/nt”
- •1.Общие положения
- •1.2. Порядок выполнения работы
- •1. 4. Оценивание выполнения работы
- •2. Структура windows - приложений. Оконная процедура. Обработка сообщений
- •2.1. Цель работы
- •2.2. Указания по подготовке к выполнению лабораторной работы
- •2.4. Задание на лабораторную работу
- •2.5. Контрольные вопросы и задания
- •3. Контексты устройств. Вывод текста
- •3.1. Цель работы
- •3.2. Указания по подготовке к выполнению лабораторной работы
- •3.3. Обзор темы работы
- •3.4. Задание на лабораторную работу
- •3.5. Контрольные вопросы и задания
- •4. Графический интерфейс пользователя (graphical user interface, gui)
- •4.1. Цель работы
- •4.2. Указания по подготовке к выполнению лабораторной работы
- •4.3. Сущность работы
- •4.4. Задание на лабораторную работу
- •4.5. Контрольные вопросы и задания
- •5. Средства ввода информации
- •5.1. Цель работы
- •5.2. Указания по подготовке к выполнению лабораторной работы
- •5.3. Обзор темы работы
- •5.4. Задание на лабораторную работу
- •5.5. Контрольные вопросы и задания
- •6. Использование ресурсов
- •6.1. Цель работы
- •6.2. Указания по подготовке к выполнению лабораторной работы
- •6.3. Обзор темы работы
- •6.4. Задание на лабораторную работу
- •6.5. Контрольные вопросы и задания
- •7. Многозадачность и многопоточность
- •7.1. Цель работы
- •7.2. Указания по подготовке к выполнению лабораторной работы
- •7.3. Обзор темы работы
- •7.4. Задание на лабораторную работу
- •7.5. Контрольные вопросы и задания
- •8. Многооконный интерфейс
- •8.1. Цель работы
- •8.2. Указания по подготовке к выполнению лабораторной работы
- •7.3. Обзор темы работы
- •7.4. Задание на лабораторную работу
- •8.5. Контрольные вопросы и задания
- •9.4. Задание на лабораторную работу
- •9.5. Контрольные вопросы и задания
- •Список литературы
- •Содержание
3.5. Контрольные вопросы и задания
Дайте определение контекста устройства.
Раскройте суть понятия «описатель контекста устройства». Для чего он предназначен?
Какими способами можно получить описатель контекста устройства?
Чем отличается использование функций GetDC, ReleaseDC и BeginPaint, EndPaint?
Каким образом можно изменить шрифт, используемый в данном контексте?
В чем отличие растровых шрифтов и шрифтов «true type»?
Какие атрибуты контекста устройства и текста Вы знаете?
Что такое «кисть» и «фон»? Для чего они предназначены и каким образом они задаются?
Какие функции вывода текста Вы знаете?
Дайте характеристику метрическим параметрам текста. Каким образом получить информацию о текущих метрических параметрах текста?
Что понимается под рабочей и клиентской областью окна приложения?
4. Графический интерфейс пользователя (graphical user interface, gui)
4.1. Цель работы
Ознакомление с концепцией и элементами графического интерфейса пользователя (GUI), принципами формирования графики на растровом экране дисплея, получение практических навыков по составлению, написанию и отладке программ, осуществляющих графический вывод текста, точечной и векторной графики.
4.2. Указания по подготовке к выполнению лабораторной работы
Необходимо изучить концепцию графического интерфейса устройства (GDI), его структуру, основные типы функций и примитивов GDI, структуру информации о цветах, атрибутах, шрифтах контекста устройств, принципы их формирования и изменения.
При подготовке к работе необходимо изучить конспект лекций по указанной теме, методические указания, а также разделы, указанные в [16, c.94-247], [17, c.19-32].
4.3. Сущность работы
Для рисования в рабочей области вашего окна используйте функции графического интерфейса устройства GDI. Одна из основных задач GDI – поддержка аппаратно-независимой графики. Функции GDI позволяют манипулировать как с пиксельной, так и векторной графикой.
В своей основе функции GDI могут быть разбиты на несколько крупных групп.
Функции, которые получают (или создают) и освобождают (или уничтожают) указатели контекстов устройств. Данные функции подробно рассматривались в п.3 данных методических указаний.
Функции, которые получают информацию о контекстах устройства (см. выше).
Функции рисования. Наиболее часто используемые из них – MoveToEx (перемешение пера в новые координаты), LineTo (рисование линии), PolyLineTo (рисует ломаную линию по координатам точек), Rectangle (рисует прямоугольник), Ellipse (рисует эллипс), PolyBezier (рисует сплайны Безье), функции работы с полигонами – CreateRectRgn, CreateEllipticRgn, CreatePolygonRgn, CombineRgn, FillRgn, FrameRgn, функции работы с битовыми образами – CreateDIBitmap, SetDIBitmap, GetDIBits, CreateBitmap, SetBitmapBits, BitBlt, StretchBlt, PatBlt.
Функции, которые устанавливают и получают атрибуты контекста устройства, которые устанавливают различные особенности работы функций рисования. Например, SetTextColor, SetTextAlign.
Функции, которые работают с объектами GDI. К ним относятся функции работы с перьями (CreatePen, CreatPenIndirect), фоном (SetBkColor,GetBkColor, CreateSolidBrush, CreateHatchBrush, CreateBrushIndirect), функции управления объектами: GetStockObject, SelectObject, DeleteObject.
Пользуясь данными функциями можно работать со следующими типами графических объектов (примитивами):
Линии и кривые. GDI поддерживает прямые линии, прямоугольники, эллипсы, дуги, сплайны Безье.
Закрашенные области. Если набор прямых и кривых линий ограничивает со всех сторон некоторую область, то она может быть закрашена с использованием объекта GDI «кисть» (brush). Эта кисть может быть сплошной, штриховой или шаблонной.
Битовые (растровые) образы – двумерные массивы битов, соответствующие пикселям устройства отображения. Битовые образы используются для отображения картинок, курсоров мыши, иконок, кнопок панели инструментов и т.п.
Текст. Операционная система поддерживает множество функций работы с текстом, шрифтами.
Метафайлы – набор вызовов команд GDI, сохраненный в файловом виде. Используются для хранения и передачи векторной графики.
Регион – сложная область, состоящая из любых фигур.
Путь – набор отрезков и кривых. Могут использоваться для рисования, закрашивания и при отсечении.
Отсечение – некоторая область, ограничивающая пространство для графического вывода.
Палитра – набор цветов для рисования.