CMFCFontComboBox 类

CMFCFontComboBox 类创建包含字体列表的一个组合框控件。

语法

class CMFCFontComboBox : public CComboBox

成员

公共构造函数

名称 描述
CMFCFontComboBox::CMFCFontComboBox 构造 CMFCFontComboBox 对象。
CMFCFontComboBox::~CMFCFontComboBox 析构函数。

公共方法

名称 描述
CMFCFontComboBox::CompareItem 由框架调用,以确定新项在当前字体组合框控件的排序列表框中的相对位置。 (替代 CComboBox::CompareItem。)
CMFCFontComboBox::DrawItem 由框架调用,以在当前字体组合框控件中绘制指定项。 (替代 CComboBox::DrawItem。)
CMFCFontComboBox::GetSelFont 检索有关当前所选字体的信息。
CMFCFontComboBox::MeasureItem 由框架调用,以通知 Windows 当前字体组合框控件中列表框的维数。 (替代 CComboBox::MeasureItem。)
CMFCFontComboBox::PreTranslateMessage 在将窗口消息发送到 TranslateMessageDispatchMessage Windows 函数之前,对此消息进行转换。 (重写 CWnd::PreTranslateMessage。)
CMFCFontComboBox::SelectFont 从字体组合框中选择与指定条件匹配的字体。
CMFCFontComboBox::Setup 初始化字体组合框中的项列表。

数据成员

名称 描述
CMFCFontComboBox::m_bDrawUsingFont 向框架指示使用哪种字体来绘制当前字体组合框中的项标签。

备注

若要在对话框中使用 CMFCFontComboBox 对象,请将 CMFCFontComboBox 变量添加到对话框类。 然后在对话框类的 OnInitDialog 方法中,调用 CMFCFontComboBox::Setup 方法来初始化组合框控件中的项列表。

继承层次结构

CObject

CCmdTarget

CWnd

CComboBox

CMFCFontComboBox

要求

标头: afxfontcombobox.h

CMFCFontComboBox::CMFCFontComboBox

构造 CMFCFontComboBox 对象。

CMFCFontComboBox();

返回值

注解

CMFCFontComboBox::GetSelFont

检索有关当前所选字体的信息。

CMFCFontInfo* GetSelFont() const;

返回值

指向描述字体的 CMFCFontInfo 类对象的指针。 如果在组合框中未选择任何字体,则为 NULL。

备注

CMFCFontComboBox::m_bDrawUsingFont

向框架指示使用哪种字体来绘制当前字体组合框中的项标签。

static BOOL m_bDrawUsingFont;

备注

将此成员设置为 TRUE,以指示框架使用相同的字体绘制每个项标签。 将此成员设置为 FALSE,以指示框架使用名称与标签相同的字体绘制每个项标签。 此成员的默认值为 FALSE。

CMFCFontComboBox::SelectFont

从字体组合框中选择与指定条件匹配的字体。

BOOL SelectFont(CMFCFontInfo* pDesc);

BOOL SelectFont(
    LPCTSTR lpszName,
    BYTE nCharSet=DEFAULT_CHARSET);

参数

pDesc
[in] 指向字体说明对象。

lpszName
[in] 指定字体名称。

nCharSet
[in] 指定字符集。 默认值为 DEFAULT_CHARSET。 有关详细信息,请参阅 LOGFONT 结构的 lfCharSet 成员。

返回值

如果字体组合框中的项与指定的字体说明对象或字体名称和字符集匹配,则为 TRUE;否则为 FALSE。

备注

使用此方法选择并滚动到与指定字体相对应的字体组合框中的项。

示例

以下示例演示了如何在 CMFCFontComboBox 类中使用 SelectFont 方法。 本示例是新控件示例的一部分。

CMFCFontComboBox m_wndFont;
m_wndFont.SelectFont(_T("Arial"));

CMFCFontComboBox::Setup

初始化字体组合框中的项列表。

BOOL Setup(
    int nFontType=DEVICE_FONTTYPE|RASTER_FONTTYPE|TRUETYPE_FONTTYPE,
    BYTE nCharSet=DEFAULT_CHARSET,
    BYTE nPitchAndFamily=DEFAULT_PITCH);

参数

nFontType
[in] 指定字体类型。 此参数可以是 DEVICE_FONTTYPE、RASTER_FONTTYPE 和TRUETYPE_FONTTYPE 的按位组合 (OR)。

nCharSet
[in] 指定字符集。 默认值为 DEFAULT_CHARSET。

nPitchAndFamily
[in] 指定字体的间距和系列。 默认值为 DEFAULT_PITCH。

返回值

如果已成功初始化字体组合框,则为 TRUE;否则为 FALSE。

注解

此方法通过枚举当前安装的与指定参数匹配的字体并将这些字体名称插入字体组合框来初始化字体组合框。

示例

以下示例演示了如何在 CMFCFontComboBox 类中使用 Setup 方法。 本示例是新控件示例的一部分。

CMFCFontComboBox m_wndFont;
// specify the font type
// BOOL m_bTrueType: true font type
// BOOL m_bRaster: raster font type
// BOOL m_bDeviceFont: device font type
int nFontType = 0;

if (m_bTrueType)
{
   nFontType |= TRUETYPE_FONTTYPE;
}

if (m_bRaster)
{
   nFontType |= RASTER_FONTTYPE;
}

if (m_bDeviceFont)
{
   nFontType |= DEVICE_FONTTYPE;
}

CWaitCursor wait;
m_wndFont.Setup(nFontType);

另请参阅

层次结构图

CMFCToolBarFontComboBox 类
CMFCFontInfo 类