Класс 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
интерфейс.