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 |
在将窗口消息发送到 TranslateMessage 和 DispatchMessage Windows 函数之前,对此消息进行转换。 (重写 CWnd::PreTranslateMessage。) |
CMFCFontComboBox::SelectFont | 从字体组合框中选择与指定条件匹配的字体。 |
CMFCFontComboBox::Setup | 初始化字体组合框中的项列表。 |
数据成员
名称 | 描述 |
---|---|
CMFCFontComboBox::m_bDrawUsingFont | 向框架指示使用哪种字体来绘制当前字体组合框中的项标签。 |
备注
若要在对话框中使用 CMFCFontComboBox
对象,请将 CMFCFontComboBox
变量添加到对话框类。 然后在对话框类的 OnInitDialog
方法中,调用 CMFCFontComboBox::Setup 方法来初始化组合框控件中的项列表。
继承层次结构
要求
标头: 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);