BOOL CreateFont ( int nHeight, int nWidth, int nEscapement, int nOrientation, int nWeight, БАЙТ bItalic, БАЙТ bUnderline, БАЙТ cStrikeOut, БАЙТ nCharSet, БАЙТ nOutPrecision, БАЙТ nClipPrecision, БАЙТ nQuality, БАЙТ nPitchAndFamily, LPCTSTR lpszFacename );
Значення, яке повертається
Ненульовий, у разі успіху; в іншому випадку 0.
Параметри
nHeight
Визначає потрібну висоту (в логічних одиницях) шрифту. Висоту шрифту можуть бути визначені наступним чином:
Абсолютне значення nHeight не повинна перевищувати 16 384 пристрій одиниць, після його перетворення. Для всіх висота порівняння шрифт mapper виглядає для найбільших шрифт, який не перевищує запитаний розмір або найменший шрифт, якщо всі шрифти перевищує запитаний розмір.
nWidth
Задає середня ширина (в логічних одиницях) символів шрифту. Якщо nWidth 0, пропорції пристрою будуть зіставлятися з оцифрування пропорції доступні шрифти, щоб знайти найближчий матч, який визначається абсолютне значення різниці.
nEscapement
Визначає кут (у 0.1-ступінь одиниць) від escapement векторних до осі x поверхні дисплея. Escapement вектор-це лінію через походження, першого та останнього знаків в рядку. Кут вимірюється проти годинникової стрілки від осі x.
nOrientation
Визначає кут (у 0.1-ступінь одиниць) від базової лінії символів до осі x. Кут вимірюється проти годинникової стрілки від осі x для систем координат, в якому напрямку y є вниз і за годинниковою стрілкою між віссю координат систем, в яких є y напрямку вгору.
nWeight
Визначає шрифт ваги (в inked пікселів на 1000). Хоча nWeight може бути будь-який ціле значення від 0 до 1000, загальні констант і значення є наступні:
| Постійна | Значення |
| FW_DONTCARE | 0 |
| FW_THIN | 100 |
| FW_EXTRALIGHT | 200 |
| FW_ULTRALIGHT | 200 |
| FW_LIGHT | 300 |
| FW_NORMAL | 400 |
| FW_REGULAR | 400 |
| FW_MEDIUM | 500 |
| FW_SEMIBOLD | 600 |
| FW_DEMIBOLD | 600 |
| FW_BOLD | 700 |
| FW_EXTRABOLD | 800 |
| FW_ULTRABOLD | 800 |
| FW_BLACK | 900 |
| FW_HEAVY | 900 |
Ці значення приблизні; фактичний вид, залежить від гарнітури. Деякі шрифти є лише FW_NORMAL, FW_REGULARі FW_BOLD ваги. Якщо вказано FW_DONTCARE , вага за замовчуванням використовується.
bItalic
Визначає, чи курсив шрифту.
bUnderline
Визначає, чи є підкреслена шрифт.
cStrikeOut
Визначає, чи символів шрифту вдарив. Визначає шрифт закреслений, якщо ненульове значення.
nCharSet
Визначає набір символів шрифту. Значення наступних констант та попередньо визначений:
| Постійна | Значення |
| ANSI_CHARSET | 0 |
| DEFAULT_CHARSET | 1 |
| SYMBOL_CHARSET | 2 |
| SHIFTJIS_CHARSET | 128 |
| OEM_CHARSET | 255 |
Набір символів OEM є система залежні.
Шрифти з інших наборів символів можуть існувати в системі. Застосунок, який використовує шрифт з невідомих символу не повинен прагнути до перекладу та інтерпретації рядки, які повинні бути надані з цього шрифту. Замість цього, рядки повинні бути передані безпосередньо до драйвера пристрою виводу.
Mapper шрифт не використовує DEFAULT_CHARSET значення. Заявку можна використовувати це значення для надання імені та розміру шрифту, що повністю Опишіть логічне шрифту. Якщо шрифт з указаним ім'ям не існує, шрифт з будь-який набір символів може бути замінений на вказаний шрифт. Щоб уникнути неочікуваних результатів, застосунки повинні використовувати DEFAULT_CHARSET значення економно.
nOutPrecision
Визначає точність бажаних результатів. Точність виводу визначає, наскільки тісно вихід має відповідати висота, ширина, орієнтації характеру, escapement та поле потрібний шрифт. Це може бути одне з таких значень:
| OUT_CHARACTER_PRECIS | OUT_STRING_PRECIS |
| OUT_DEFAULT_PRECIS | OUT_STROKE_PRECIS |
| OUT_DEVICE_PRECIS | OUT_TT_PRECIS |
| OUT_RASTER_PRECIS |
Додатки можна використовувати значення OUT_DEVICE_PRECIS, OUT_RASTER_PRECISта OUT_TT_PRECIS для контролю, як шрифт mapper вибирає шрифт, коли система містить більше одного шрифту з вказаного імені. Наприклад, якщо система містить шрифт «символ» у растрових і TrueType форму, вказавши OUT_TT_PRECIS сили шрифт mapper вибрати версії TrueType. (Визначення OUT_TT_PRECIS сил вибрати шрифт TrueType, кожного разу, коли вказаний шрифт ім'я відповідає пристрою або растрових шрифтів, навіть тоді, коли немає не шрифт TrueType, з тим же ім'ям, mapper шрифту).
nClipPrecision
Визначає точність бажаного відсікання. Точність відсікання визначає як кліп символи, які частково за межами області відсікання. Це може бути одне з таких значень:
| CLIP_CHARACTER_PRECIS | CLIP_MASK |
| CLIP_DEFAULT_PRECIS | CLIP_STROKE_PRECIS |
| CLIP_ENCAPSULATE | CLIP_TT_ALWAYS |
| CLIP_LH_ANGLES |
Щоб використовувати вбудований лише для читання шрифт, застосування необхідно вказати CLIP_ENCAPSULATE.
Для досягнення послідовного обертання пристрою, TrueType та векторні шрифти, програма може використовувати чи оператор поєднувати з будь-яким nClipPrecision значення, значення CLIP_LH_ANGLES . Якщо трохи CLIP_LH_ANGLES , обертання всіх шрифтів залежить від того, орієнтації системи координат є лівші або правші. (Щоб отримати додаткові відомості про орієнтації системи, див. опис параметрів nOrientation .) Якщо CLIP_LH_ANGLES не вибрано, шрифти пристрою завжди обернути проти годинникової стрілки, але обертання інших шрифтів, залежить від орієнтація система координат.
nQuality
Визначення шрифту високій якості, яка визначає, наскільки ретельно GDI повинні намагаються зіставити логічні шрифт атрибути ті з реальних фізичні шрифт. Це може бути однією з таких значень:
nPitchAndFamily
Визначає поле і сім'ї шрифту. Два біти Низька порядку Укажіть поле Шрифт і може бути одне з таких значень:
| DEFAULT_PITCH | VARIABLE_PITCH | FIXED_PITCH |
Додатки можна додати TMPF_TRUETYPE nPitchAndFamily параметр вибрати шрифт TrueType. Чотири біти високого порядку параметра вказати гарнітуру і може бути одне з таких значень:
Додаток можна вказати значення для nPitchAndFamily за допомогою оператора булеві або приєднатися до крок константу з родини константа.
Гарнітури описати вигляд шрифту в загальних рисах. Вони призначені для визначення шрифтів, коли точний гарнітури бажане недоступний.
lpszFacename
CString або вказівник на нульовим закінченням, яке вказує ім'я гарнітури шрифту. Довжина цей рядок не повинна перевищувати 30 символів. Функція Windows EnumFontFamilies можна перелічити всі шрифти, які в даний час доступні. Якщо lpszFacename має значення NULL, GDI використовує гарнітуру апаратно незалежний.
Зауваження
Ініціалізує CFont об'єкт із вказаного характеристики. Шрифт згодом можна вибрати шрифт для контексту пристрою.
CreateFont функція не створює новий шрифт Windows GDI. Вона просто вибирає найближчий відповідник від шрифти, які доступні в басейні на GDI фізичної шрифтів.
Застосунки можуть використовувати настройки за промовчанням для більшості з цих параметрів під час створення логічних шрифту. Параметри, які завжди повинна бути надана конкретних значень, nHeight і lpszFacename. Якщо nHeight і lpszFacename не встановлено застосунком, логічні шрифт, який створюється це апаратно залежні.
Коли ви закінчите з CFont об'єкт, створений за допомогою функції CreateFont , спочатку виберіть шрифт з контексту пристрою, а потім видалити об'єкт, CFont.
Огляд CFont |nbsp; Члени класу | Ієрархічна діаграма
Дивіться такожnbsp;CFont::CreateFontIndirect, CFont::CreatePointFont, :: CreateFont, :: EnumFontFamilies, :: EnumFonts