Interface IDWriteLocalizedStrings (dwrite.h)
Représente une collection de chaînes indexées par nom de paramètres régionaux.
Héritage
L’interface IDWriteLocalizedStrings hérite de l’interface IUnknown. IDWriteLocalizedStrings a également les types de membres suivants :
Méthodes
L’interface IDWriteLocalizedStrings utilise ces méthodes.
IDWriteLocalizedStrings ::FindLocaleName Obtient l’index de base zéro de la paire nom/chaîne de paramètres régionaux avec le nom de paramètres régionaux spécifié. |
IDWriteLocalizedStrings ::GetCount Obtient le nombre de paires langue/chaîne. |
IDWriteLocalizedStrings ::GetLocaleName Copie le nom des paramètres régionaux avec l’index spécifié dans le tableau spécifié. (IDWriteLocalizedStrings.GetLocaleName) |
IDWriteLocalizedStrings ::GetLocaleNameLength Obtient la longueur en caractères (sans inclure la marque de fin Null) du nom des paramètres régionaux avec l’index spécifié. (IDWriteLocalizedStrings.GetLocaleNameLength) |
IDWriteLocalizedStrings ::GetString Copie la chaîne avec l’index spécifié dans le tableau spécifié. (IDWriteLocalizedStrings.GetString) |
IDWriteLocalizedStrings ::GetStringLength Obtient la longueur en caractères (sans inclure la marque de fin Null) de la chaîne avec l’index spécifié. (IDWriteLocalizedStrings.GetStringLength) |
Remarques
L’ensemble de chaînes représentées par un IDWriteLocalizedStrings est indexé par un nombre UINT32 de base zéro mappé à un paramètre régional. L’index numérique d’un paramètre régional spécifique est récupéré à l’aide de la méthode FindLocaleName .
Une utilisation courante de l’interface IDWriteLocalizedStrings consiste à contenir une liste de noms de familles de polices localisés créés à l’aide de la méthode IDWriteFontFamily ::GetFamilyNames . L’exemple suivant montre comment obtenir le nom de famille pour les paramètres régionaux « en-us ».
IDWriteLocalizedStrings* pFamilyNames = NULL;
// Get a list of localized strings for the family name.
if (SUCCEEDED(hr))
{
hr = pFontFamily->GetFamilyNames(&pFamilyNames);
}
UINT32 index = 0;
BOOL exists = false;
wchar_t localeName[LOCALE_NAME_MAX_LENGTH];
if (SUCCEEDED(hr))
{
// Get the default locale for this user.
int defaultLocaleSuccess = GetUserDefaultLocaleName(localeName, LOCALE_NAME_MAX_LENGTH);
// If the default locale is returned, find that locale name, otherwise use "en-us".
if (defaultLocaleSuccess)
{
hr = pFamilyNames->FindLocaleName(localeName, &index, &exists);
}
if (SUCCEEDED(hr) && !exists) // if the above find did not find a match, retry with US English
{
hr = pFamilyNames->FindLocaleName(L"en-us", &index, &exists);
}
}
// If the specified locale doesn't exist, select the first on the list.
if (!exists)
index = 0;
UINT32 length = 0;
// Get the string length.
if (SUCCEEDED(hr))
{
hr = pFamilyNames->GetStringLength(index, &length);
}
// Allocate a string big enough to hold the name.
wchar_t* name = new (std::nothrow) wchar_t[length+1];
if (name == NULL)
{
hr = E_OUTOFMEMORY;
}
// Get the family name.
if (SUCCEEDED(hr))
{
hr = pFamilyNames->GetString(index, name, length+1);
}
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 7, Windows Vista avec SP2 et Mise à jour de plateforme pour Windows Vista [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows Server 2008 R2, Windows Server 2008 avec SP2 et Platform Update pour Windows Server 2008 [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | dwrite.h |