PrivateFontCollection::AddFontFile, méthode (gdiplusheaders.h)
La méthode PrivateFontCollection::AddFontFile ajoute un fichier de polices à cette collection de polices privée.
Syntaxe
Status AddFontFile(
[in] const WCHAR *filename
);
Paramètres
[in] filename
Type : const WCHAR*
Pointeur vers une chaîne à caractères larges qui spécifie le nom d’un fichier de police.
Valeur retournée
Type : État
Si la méthode réussit, elle retourne Ok, qui est un élément de l’énumération Status .
Si la méthode échoue, elle retourne l’un des autres éléments de l’énumération Status .
Notes
Lorsque vous utilisez l’API GDI+, vous ne devez jamais autoriser votre application à télécharger des polices arbitraires à partir de sources non approuvées. Le système d’exploitation nécessite des privilèges élevés pour garantir que toutes les polices installées sont approuvées.
Exemples
L’exemple suivant crée un objet PrivateFontCollection et ajoute trois fichiers de police à la collection. Le code obtient ensuite les familles de polices qui se trouvent dans la collection et, pour chaque famille de la collection, crée une police qui est utilisée pour dessiner du texte.
VOID Example_AddFontFile(HDC hdc)
{
Graphics graphics(hdc);
SolidBrush solidBrush(Color(255, 0, 0, 0));
INT found = 0;
INT count = 0;
WCHAR familyName[50];
FontFamily* pFontFamily;
PrivateFontCollection privateFontCollection;
// Add three font files to the private collection.
privateFontCollection.AddFontFile(L"C:\\WINNT\\Fonts\\Arial.ttf");
privateFontCollection.AddFontFile(L"C:\\WINNT\\Fonts\\Cour.ttf");
privateFontCollection.AddFontFile(L"C:\\WINNT\\Fonts\\Times.ttf");
// How many font families are in the private collection?
count = privateFontCollection.GetFamilyCount();
// Allocate a buffer to hold the array of FontFamily objects returned by
// the GetFamilies method.
pFontFamily = (FontFamily*)malloc(count * sizeof(FontFamily));
// Get the array of FontFamily objects.
privateFontCollection.GetFamilies(count, pFontFamily, &found);
for(INT j = 0; j < found; ++j)
{
// Get the font family name.
pFontFamily[j].GetFamilyName(familyName);
// Pass the family name and the address of the private collection to a
// Font constructor.
Font* pFont = new Font(familyName, 16, FontStyleRegular,
UnitPixel, &privateFontCollection);
// Use the font to draw a string.
graphics.DrawString(
L"Hello",
5, // string length
pFont,
PointF(10.0f, (REAL)j*25),
&solidBrush);
delete(pFont);
}
free(pFontFamily);
}
Spécifications
Client minimal pris en charge | Windows XP, Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | gdiplusheaders.h (inclure Gdiplus.h) |
Bibliothèque | Gdiplus.lib |
DLL | Gdiplus.dll |