System programming / Методические указания / Html / 2LABA
.HTML2-я Лабораторная работа Вариант1 Вариант2 Вариант3 Вариант4 Вариант5 Вариант6 Вариант7 Вариант8 2.Тема: КОНТЕКСТЫ УСТРОЙСТВ. ВЫВОД ТЕКСТА. 2.1. Цель работы Ознакомление с концепцией контекстного представления устройств в современных операционных системах,получение практических навыков по составлению, написанию и отладке программ, осуществляющих аппаратно-независимый вывод информации на экран дисплея, принтеры, и другие периферийные устройства, представленные контекстами. 2.2.Указания по подготовке к выполнению лабораторной работы Необходимо освоить основные принципы контекстной концепции представления устройств вывода информации, структуру данных контекстов, а также порядок использования основных функций работы с контекстами устройств. При подготовке к работе необходимо изучить конспект лекций по указанной теме, методические указания, а также разделы, указанные в [16, c.57-62], [17, c.28-32]. 2.3. Обзор темы работы Контекст устройства фактически является структурой данных, которая внутренне поддерживается GUI. Контекст устройства связан с конкретным устройством вывода информации, таким как дисплей, принтер, плоттер. Некоторые значения в контексте устройства являются графическими "атрибутами", которые определяют некоторые особенности работы функций рисования. Перед осуществлением вывода,программа должна получить описатель контекста, все операции по выводу осуществлять с использованием описателя контекста, после чего, программа должна освободить описатель контекста. В данной работе необходимо использовать следующие функции API: BeginPaint или GetDC для получения описателя контекста устройства и EndPaint или ReleaseDC для его уничтожения. Следует отметить, что при вызове BeginPaint и EndPaint обновляет фон рабочей обл.TextOut и DrawText. Информация о системных параметрах получается при помощи функций GetTextMetrics и GetSystemMetrics. 2.4. Задание на лабораторную работу Написать, с использованием функций API, программу, которая выводит в окно приложения информацию, получаемую из контекста, об устройстве и метрике:
Варианты:
Вариант 1
Информация о метрике: ширина и высота экрана в точках, ширина и
высота горизонтальной полосы прокрутки, ширина и высота рамки окна
приложения.
Информация об устройстве: ширину поля вывода в миллиметрах.
Информация о шрифте: величина пространства над символом для специальный
знаков.
Вариант 2
Информация о метрике: ширина и высота окна диалога, ширина и высота
иконки приложения.
Информация об устройстве: высоту поля вывода в миллиметрах.
Информация о шрифте: величина межстрокового расстояния.
Вариант 3
Информация о метрике: ширина и высота курсора, ширина и высота
клиентской области приложения.
Информация об устройстве: ширину поля вывода в пикселах.
Информация о шрифте: усредненная ширина символа строки.
Вариант 4
Информация о метрике: минимальную и максимальную ширину оконного
приложения, минимальную и максимальную ширину иконки.
Информация об устройстве: высота поля вывода в растровых линиях.
Информация о шрифте: ширина самого широкого символа.
Вариант 5
Информация о метрике: наличие мыши в системе и число кнопок у мыши
Информация об устройстве: количество фонтов.
Информация о шрифте: высота шрифта.
Вариант 6
Информация о метрике: минимальное и максимальное значение, до которого
можно изменить ширину и высоту окна.
Информация об устройстве: размер структуры данных об устройстве.
Информация о шрифте: высота шрифта и величина межстрокового расстояния.
Вариант 7
Информация о метрике: величину прямоугольника, попадая в который
засчитывается двойной щелчок мыши.
Информация об устройстве: относительная ширина точки.
Информация о шрифте: усредненная величина символа строки и величина
пространства над символом для специальный знаков.
Вариант 8
Информация о метрике: ширина и высота иконки приложения, ширина и
высота вертикальной полосы прокрутки.
Информация об устройстве: относительная высота точки
Информация о шрифте: ширина самого широкого символа.
Вариант 9
Информация о метрике: ширину полосы меню, наличие мыши в системе.
Информация об устройстве: действительное цветовое разрешение.
Информация о шрифте: усредненная ширина символа строки и ширина самого
широкого символа.
2.5. Контрольные вопросы и задания: Дайте определение контекста устройства. Раскройте суть понятия . Для чего он предназначен? Какими способами можно получить описатель контекста устройства? Чем отличается использование функций GetDC, ReleaseDC и BeginPaint, EndPaint Каким образом можно изменить шрифт, используемый в данном контексте? В чем отличие растровых шрифтов и шрифтов ? Какие атрибуты контекста устройства и текста Вы знаете? Что такое и ? Для чего они предназначены и каким образом они задаются? Какие функции вывода текста Вы знаете? Дайте характеристику метрическим параметрам текста. Каким образом получить информацию о текущих метрических параметрах текста? Что понимается под рабочей и клиентской областью окна приложения? Вариант1 Вариант2 Вариант3 Вариант4 Вариант5 Вариант6 Вариант7 Вариант8