FontCollection::GetFamilies 方法 (gdiplusheaders.h)
FontCollection::GetFamilies 方法获取此字体集合中包含的字体系列。
语法
Status GetFamilies(
[in] INT numSought,
[out] FontFamily *gpfamilies,
[out] INT *numFound
);
参数
[in] numSought
类型: INT
指定此字体集合中字体系列数的整数。
[out] gpfamilies
类型: FontFamily*
指向接收 FontFamily 对象的数组的指针。
[out] numFound
类型: INT*
指向接收在此集合中找到的字体系列数的 INT 的指针。 此数字应与 numSought 值相同。
返回值
类型: 状态
如果该方法成功,则返回 Ok,这是 Status 枚举的元素。 如果方法失败,它将返回 Status 枚举的其他元素之一。
注解
字体系列由具有相关样式的单个字体类型组成。 单一字体类型的一个示例是 Arial Regular。 字体系列的一个示例是一组包含 Arial Regular、Arial Italic 和 Arial Bold 样式字体的字体。
示例
以下示例创建 一个 PrivateFontCollection 对象,获取集合中包含的 FontFamily 对象,并使用其中一个字体系列来绘制文本。
VOID Example_GetFamilies(HDC hdc)
{
Graphics graphics(hdc);
// Create a PrivateFontCollection object, and add three families.
PrivateFontCollection fontCollection;
fontCollection.AddFontFile(L"C:\\WINNT\\Fonts\\Arial.ttf");
fontCollection.AddFontFile(L"C:\\WINNT\\Fonts\\CourBI.ttf");
fontCollection.AddFontFile(L"C:\\WINNT\\Fonts\\TimesBd.ttf");
// Create an array to hold the font families, and get the font families of
// fontCollection.
FontFamily families[3];
int numFamilies;
fontCollection.GetFamilies(3, families, &numFamilies);
// Create a Font object from the first FontFamily object in the array.
Font myFont(&families[0], 16);
// Use myFont to draw text.
SolidBrush solidbrush(Color(255, 0, 0, 0));
WCHAR string[] = L"This is an Arial font";
graphics.DrawString(string,
21, &myFont, PointF(0, 0), &solidbrush);
}
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP、Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | gdiplusheaders.h (包括 Gdiplus.h) |
Library | Gdiplus.lib |
DLL | Gdiplus.dll |