Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
System programming / Методические указания / Методичка к лабораторным работам (укр).doc
Скачиваний:
50
Добавлен:
08.05.2015
Размер:
230.4 Кб
Скачать

1.5 Контрольні запитання і завдання

  1. У чому полягає об'єктно-орієнтований підхід до програмування?

  2. Розкрийте особливості архітектури, яка керується подіями.

  3. Яке призначення віконної процедури додатка?

  4. Опишіть основні етапи створення вікна додатка.

  5. Поясніть зміст циклу опрацювання повідомлень.

  6. Яким чином відбувається обробка повідомлень у додатках Windows?

  7. Розкрийте сутність синхронних та асинхронних повідомлень.

  8. Яким чином формуються повідомлення?

  9. Поясніть особливості формування повідомлення WM_PAINT. Що таке дійсні і недійсні прямокутники?

  10. Які системні повідомлення ви знаєте?

2 Контексти пристроїв. Вивід тексту

2.1 Мета роботи

Ознайомлення з концепцією контекстного подання пристроїв у сучасних операційних системах, одержання практичних навичок з упорядкування, написання і налагодження програм, що здійснюють апаратно-незалежне виведення інформації на екран дисплея, принтери та інші периферійні пристрої, подані контекстами.

2.2 Вказівки з підготовки до виконання лабораторної роботи

Необхідно засвоїти основні принципи контекстної концепції уявлення пристроїв виведення інформації, структуру даних контекстів, а також порядок використання основних функцій роботи з контекстами пристроїв.

При підготовці до роботи необхідно вивчити конспект лекцій із зазначеной теми, методичні вказівки, а також розділи, зазначені в [16, c. 57-62], [17, c. 28-32].

2.3 Суть роботи

Контекст пристрою фактично є структурою даних, що внутрішньо підтримується GUI. Контекст пристрою пов'язаний із конкретним пристроєм виведення інформації, таким як дисплей, принтер, плоттер. Деякі значення в контексті пристрою є графічними "атрибутами", що визначають деякі особливості роботи функцій рисування. Наприклад, для функції TexOut, ці атрибути задають колір тексту, колір фона, положення у вікні при виведенні і т.п.

Перед здійсненням виведення, програма повинна одержати опис контексту, усі операції з виведення здійснювати з використанням опису контексту, після чого програма повинна звільнити опис контексту.

У даній роботі необхідно використовувати такі функції API: BeginPaint або CetDC для одержання опису контексту пристрою та EndPaint або ReleaseDC для його знищення. Слід зазначити, що при виклику BeginPaint і EndPaint обновлюється фон робочої області і встановлює робочу область у дійсний стан. Одержання робочої області вікна можна виконати за допомогою функції GetClientRect. При цьому, використовувати контекст, отриманий за допомогою BeginPaint, можна тільки для рисування в робочій області вікна. Виведення тексту можна здійснювати за допомогою функцій TextOut і DrawText. Інформація про системні параметри утворюється за допомогою функцій GetTextMetrics і GetSystemMetrcs.

2.4 Завдання на лабораторну роботу

Написати, із використанням функцій API, програму, що виводить у вікно додатка інформацію, одержану з контексту, про пристрій і метрику:

Варіант 1

Інформація про метрику: ширина і висота екрана в точках, ширина і висота горизонтальної смуги прокручування, ширина і висота рамки вікна додатка.

Інформація про пристрій: ширину поля виведення в міліметрах.

Інформація про шрифт: розмір простору над символом для спеціальних знаків.

Варіант 2

Інформація про метрику: ширина і висота вікна діалогу, ширина і висота іконки додатка.

Інформація про пристрій: висоту поля виведення в міліметрах.

Інформація про шрифт: розмір межрядкової відстані.

Варіант 3

Інформація про метрику: ширина і висота курсору, ширина і висота клієнтської області додатка.

Інформація про пристрій: ширину поля виведення в пікселах.

Інформація про шрифт: усереднена ширина символу рядка.

Варіант 4

Інформація про метрику: мінімальну і максимальну ширину віконного додатка, мінімальну і максимальну ширину іконки.

Інформація про пристрій: висота поля виведення в растрових лініях.

Інформація про шрифт: ширина найширшого символу.

Варіант 5

Інформація про метрику: наявність миші в системі і число кнопок у миші.

Інформація про пристрій: кількість фонтів.

Інформація про шрифт: висота шрифту.

Варіант 6

Інформація про метрику: мінімальне і максимальне значення, до якого можна змінити ширину і висоту вікна.

Інформація про пристрій: розмір структури даних про пристрій.

Інформація про шрифт: висота шрифту і розмір міжрядкової відстані.

Варіант 7

Інформація про метрику: розмір прямокутника, попадаючи в який зараховується подвійний щиголь миші.

Інформація про пристрій: відносна ширина точки.

Інформація про шрифт: усереднений розмір символу рядка і розмір простору над символом для спеціальних знаків.

Варіант 8

Інформація про метрику: ширина і висота іконки додатка, ширина і висота вертикальної смуги прокрутки.

Інформація про пристрій: відносна висота точки.

Інформація про шрифт: ширина найширшого символу.

Варіант 9

Інформація про метрику: ширину смуги меню, наявність миші в системі.

Інформація про пристрій: дійсний колірний дозвіл.

Інформація про шрифт: усереднена ширина символу рядка і ширина найширшого символу.