Interfaz IDWriteLocalizedStrings (dwrite.h)
Representa una colección de cadenas indizada por nombre de configuración regional.
Herencia
La interfaz IDWriteLocalizedStrings hereda de la interfaz IUnknown . IDWriteLocalizedStrings también tiene estos tipos de miembros:
Métodos
La interfaz IDWriteLocalizedStrings tiene estos métodos.
IDWriteLocalizedStrings::FindLocaleName Obtiene el índice de base cero del par nombre/cadena de configuración regional con el nombre de configuración regional especificado. |
IDWriteLocalizedStrings::GetCount Obtiene el número de pares de idioma y cadena. |
IDWriteLocalizedStrings::GetLocaleName Copia el nombre de la configuración regional con el índice especificado en la matriz especificada. (IDWriteLocalizedStrings.GetLocaleName) |
IDWriteLocalizedStrings::GetLocaleNameLength Obtiene la longitud en caracteres (sin incluir el terminador NULL) del nombre de configuración regional con el índice especificado. (IDWriteLocalizedStrings.GetLocaleNameLength) |
IDWriteLocalizedStrings::GetString Copia la cadena con el índice especificado en la matriz especificada. (IDWriteLocalizedStrings.GetString) |
IDWriteLocalizedStrings::GetStringLength Obtiene la longitud en caracteres (sin incluir el terminador NULL) de la cadena con el índice especificado. (IDWriteLocalizedStrings.GetStringLength) |
Comentarios
El conjunto de cadenas representadas por un IDWriteLocalizedStrings se indexa mediante un número UINT32 basado en cero que se asigna a una configuración regional. El índice numérico de una configuración regional específica se retreive mediante el método FindLocaleName .
Un uso común de la interfaz IDWriteLocalizedStrings es contener una lista de nombres de familia de fuentes localizados creados mediante el método IDWriteFontFamily::GetFamilyNames . En el ejemplo siguiente se muestra cómo obtener el nombre de familia de la configuración regional "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);
}
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 7, Windows Vista con SP2 y Platform Update para Windows Vista [aplicaciones de escritorio | Aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2008 R2, Windows Server 2008 con SP2 y Actualización de plataforma para Windows Server 2008 [aplicaciones de escritorio | Aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | dwrite.h |