Поделиться через


Класс CFontHolder

Реализует свойство Font и инкапсулирует функциональность объекта шрифта Windows и интерфейса IFont .

Синтаксис

class CFontHolder

Участники

Открытые конструкторы

Имя Описание
CFontHolder::CFontHolder Формирует объект CFontHolder.

Открытые методы

Имя Описание
CFontHolder::GetDisplayString Извлекает строку, отображаемую в браузере свойств контейнера.
CFontHolder::GetFontDispatch Возвращает интерфейс шрифта IDispatch .
CFontHolder::GetFontHandle Возвращает дескриптор шрифта Windows.
CFontHolder::InitializeFont Инициализирует объект CFontHolder.
CFontHolder::QueryTextMetrics Извлекает сведения о связанном шрифте.
CFontHolder::ReleaseFont Отключает CFontHolder объект от IFont интерфейсов и IFontNotification интерфейсов.
CFontHolder::Select Выбирает ресурс шрифта в контексте устройства.
CFontHolder::SetFont CFontHolder Подключает объект к интерфейсуIFont.

Открытые члены данных

Имя Описание
CFontHolder::m_pFont Указатель на CFontHolder интерфейс объекта IFont .

Замечания

CFontHolder не имеет базового класса.

Используйте этот класс для реализации настраиваемых свойств шрифта для элемента управления. Сведения о создании таких свойств см. в статье "Элементы ActiveX: использование шрифтов".

Иерархия наследования

CFontHolder

Требования

Заголовок: afxctl.h

CFontHolder::CFontHolder

Формирует объект CFontHolder.

explicit CFontHolder(LPPROPERTYNOTIFYSINK pNotify);

Параметры

pNotify
Указатель на интерфейс шрифта IPropertyNotifySink .

Замечания

Перед использованием объекта необходимо вызвать InitializeFont инициализацию результирующего объекта.

CFontHolder::GetDisplayString

Извлекает строку, которая может отображаться в браузере свойств контейнера.

BOOL GetDisplayString(CString& strValue);

Параметры

strValue
Ссылка на CString , которая содержит отображаемую строку.

Возвращаемое значение

Ненулевое значение, если строка успешно извлечена; в противном случае — 0.

CFontHolder::GetFontDispatch

Вызовите эту функцию, чтобы получить указатель на интерфейс диспетчера шрифта.

LPFONTDISP GetFontDispatch();

Возвращаемое значение

Указатель на CFontHolder интерфейс объекта IFontDisp . Обратите внимание, что функция, вызывающая вызовы GetFontDispatch , должна вызывать IUnknown::Release указатель интерфейса при выполнении с ним.

Замечания

Вызов InitializeFont перед вызовом GetFontDispatch.

CFontHolder::GetFontHandle

Вызовите эту функцию, чтобы получить дескриптор шрифта Windows.

HFONT GetFontHandle();

HFONT GetFontHandle(
    long cyLogical,
    long cyHimetric);

Параметры

cyLogical
Высота в логических единицах прямоугольника, в котором рисуется элемент управления.

cyHimetric
Высота элемента управления в MM_HIMETRIC единицах управления.

Возвращаемое значение

Дескриптор объекта Font; в противном случае ЗНАЧЕНИЕ NULL.

Замечания

Соотношение cyLogical и cyHimetric используется для вычисления правильного размера отображения в логических единицах для размера точки шрифта, выраженного в MM_HIMETRIC единицах:

Размер отображения = ( размер шрифта cyLogical / cyHimetric) X

Версия без параметров возвращает дескриптор правильного размера шрифта для экрана.

CFontHolder::InitializeFont

Инициализирует объект CFontHolder.

void InitializeFont(
    const FONTDESC* pFontDesc = NULL,
    LPDISPATCH pFontDispAmbient = NULL);

Параметры

pFontDesc
Указатель на структуру описания шрифта ( FONTDESC), указывающую характеристики шрифта.

pFontDispAmbient
Указатель на свойство внешнего шрифта контейнера.

Замечания

Если pFontDispAmbient не равно NULL, CFontHolder объект подключается к клону интерфейса, используемого IFont свойством внешнего шрифта контейнера.

Если pFontDispAmbient имеет значение NULL, новый объект Font создается либо из описания шрифта, указываемого pFontDesc, либо, если pFontDesc имеет значение NULL, из описания по умолчанию.

Вызовите эту функцию после создания CFontHolder объекта.

CFontHolder::m_pFont

Указатель на CFontHolder интерфейс объекта IFont .

LPFONT m_pFont;

CFontHolder::QueryTextMetrics

Извлекает сведения о физическом шрифте, представленном CFontHolder объектом.

void QueryTextMetrics(LPTEXTMETRIC lptm);

Параметры

lptm
Указатель на структуру TEXTMETRIC , которая будет получать сведения.

CFontHolder::ReleaseFont

Эта функция отключает CFontHolder объект от своего IFont интерфейса.

void ReleaseFont();

CFontHolder::Select

Вызовите эту функцию, чтобы выбрать шрифт элемента управления в указанном контексте устройства.

CFont* Select(
    CDC* pDC,
    long cyLogical,
    long cyHimetric);

Параметры

pDC
Контекст устройства, в котором выбран шрифт.

cyLogical
Высота в логических единицах прямоугольника, в котором рисуется элемент управления.

cyHimetric
Высота элемента управления в MM_HIMETRIC единицах управления.

Возвращаемое значение

Указатель на замещаемый шрифт.

Замечания

См. раздел GetFontHandle для обсуждения параметров cyLogical и cyHimetric .

CFontHolder::SetFont

Освобождает любой существующий шрифт и подключает CFontHolder объект к интерфейсу IFont .

void SetFont(LPFONT pNewFont);

Параметры

pNewFont
Указатель на новый IFont интерфейс.

См. также

Диаграмма иерархии
Класс CPropExchange