Завдання до лабораторної роботи
Згідно з вказівками створити програму для роботи зі строками. Розібрати алгоритм обробки повідомлень. Розібрати команди, що використовуються в програмі. 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 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|