Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Завдання до лабораторної роботи




Згідно з вказівками створити програму для роботи зі строками. Розібрати алгоритм обробки повідомлень. Розібрати команди, що використовуються в програмі.

2.4 Контрольні питання

2.4.1 Поясніть відмінність програмування в ОС Windows від програмування в ОС DOS.

2.4.2 Дайте визначення поняття «подія».

2.4.3 Дайте визначення поняття «повідомлення».

2.4.4 В якому разі повідомлення обробляється стандартним чином?

2.4.5 Структура карти повідомлень та її місце в програмі.

2.4.6 Основні макроси карти повідомлень.

2.4.7 Як зв’язати активний елемент вікна програми з функцією обробки повідомлення?


ЗАВДАННЯ №3
ВИВІД НА ЕКРАН. РОБОТА ЗІ ШРИФТАМИ

Мета роботи: розібратися з механізмом виводу інформації на екран в Windows. Навчитися виводити на екран різну інформацію – текстову, графічну. Навчитися маніпулювати параметрами шрифтів, що виводяться на екран.

Теоретичні відомості

Загальні відомості про вивід на екран

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

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

Нижче наведені стандартні шріфти

- TriplexFont Trip.chr

- SmallFont Litt.chr

- SansSerifFont Sans.chr

- GothicFont Goth.chr

Більшість стандартних шрифтом не містить російських символів. Розробка ж власних шрифтів – досить складний і трудомісткий процес.

Встановити потрібний шрифт можна процедурою SetTextStyle(Font,d,c:word), де Font – вибраний шрифт, d – напрям (горизонтальне або вертикальне), з – розмір символів, що виводяться. Можливі значення двох перших параметрів. При організації вертикального виводу необхідно враховувати, що якщо не встановити точку початку виводу за допомогою MoveTo, то текст починається з нижнього рядка екрану і продовжується вгору. Величина символів встановлюється коефіцієнтом з. Якщо с=1, то символ будується в матриці 8*8, якщо с= 2, то матриця 16 і т.д. до 10-кратного збільшення.

Наприклад виведемо 2 рядки (вертикальну і горизонтальну) шрифтом DefaultFontразной величини:

SetTextStyle(0,11); {букви стандартної величини}

OutTextXY(200, 200, ‘Вертикальний рядок’);

SetTextStyle(0, 0, 2); {розмір букв збільшений}

OutTextXY(200, 220, ‘Горизонтальний рядок’);

Контекст пристрою

В більшості випадків Windows управляє пристроями за допомогою спеціальних програм – драйверів. Драйвери приймають інформацію від додатку і передають відповідно цій інформації дані конкретному пристрою – монітору, принтеру, іншому пристрою виводу.

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

Контекст пристрою – це не більше ніж структура C++, яка містить атрибути робочого поля вікна. Ці атрибути включають вибране для поточної операції перо, кисть і шрифт.

Робоча область вікна – частина поверхні екрану, в якій можна відображати все, що порахує потрібним додаток: текст, таблиці даних, картинку і т.д. Певну допомогу в цьому надає бібліотека MFC, яка інкапсулює функції графічного інтерфейсу Windows в свої класи контексту пристроїв.

Шрифти

Шрифти Windows описуються в структурі LOGFONT. Структура містить в собі 14 полів:

- lfHeight — висота шрифта, логічних одиниць;

- lfWidth — ширина шрифта, логічних одиниць;

- lfEscapement — угол нанесення тексту;

- lfOrientation — наклон символів;

- lfWeight — товщина ліній шрифта;

- lfItalic — ненульове значення означє курсив;

- lfUnderline — ненульове значення означає підкреслення;

- lfStrikeOut — ненулевое значение означає перекреслений щрифт;

- lfCharSet — номер таблиці кодування;

- lfOutPrecision — параметр, що визначає відповідність шрифту, що тапрошується і того, що є в наявності;

- lfClipPrecision — параметр, що визначає спосіб "обрізання" зображень літер при их виході за межі області обмеженого виводу;

- lfQuality — якість вигляду шрифта;

- lfPitchAndFamily — поле визначає, чи буде шрифт мати фіксовану або змінну ширину літер, а також сімейство, до якого належить шрифт;

- lfFaceName — им’я шрифта.

При програмуванні під Windows прийнято при створенні нового шрифту і виборі його в контекст зберігати покажчик на старий. Як це робиться, буде показано в ході роботи.

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...