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


Метод 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 .

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

Тип: Состояние

В случае успешного выполнения метода возвращается ОК, который является элементом перечисления 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
Header gdiplusheaders.h (включая Gdiplus.h)
Библиотека Gdiplus.lib
DLL Gdiplus.dll

См. также раздел

FontCollection

FontCollection::GetFamilyCount

FontFamily

PrivateFontCollection

Использование текста и шрифтов