CFont::CreateFont

BOOL CreateFont ( int nHeight, int nWidth, int nEscapement, int nOrientation, int nWeight, БАЙТ bItalic, БАЙТ bUnderline, БАЙТ cStrikeOut, БАЙТ nCharSet, БАЙТ nOutPrecision, БАЙТ nClipPrecision, БАЙТ nQuality, БАЙТ nPitchAndFamily, LPCTSTR lpszFacename );

Значення, яке повертається

Ненульовий, у разі успіху; в іншому випадку 0.

Параметри

nHeight

Визначає потрібну висоту (в логічних одиницях) шрифту. Висоту шрифту можуть бути визначені наступним чином:

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. Чотири біти високого порядку параметра вказати гарнітуру і може бути одне з таких значень:

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

Index