Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 |