Interfaccia IDWriteLocalizedStrings (dwrite.h)

Rappresenta una raccolta di stringhe indicizzate in base al nome delle impostazioni locali.

Ereditarietà

L'interfaccia IDWriteLocalizedStrings eredita dall'interfaccia IUnknown . IDWriteLocalizedStrings include anche questi tipi di membri:

Metodi

L'interfaccia IDWriteLocalizedStrings include questi metodi.

 
IDWriteLocalizedStrings::FindLocaleName

Ottiene l'indice in base zero della coppia nome/stringa delle impostazioni locali con il nome delle impostazioni locali specificato.
IDWriteLocalizedStrings::GetCount

Ottiene il numero di coppie language/string.
IDWriteLocalizedStrings::GetLocaleName

Copia il nome delle impostazioni locali con l'indice specificato nella matrice specificata. (IDWriteLocalizedStrings.GetLocaleName)
IDWriteLocalizedStrings::GetLocaleNameLength

Ottiene la lunghezza in caratteri (non incluso il terminatore Null) del nome delle impostazioni locali con l'indice specificato. (IDWriteLocalizedStrings.GetLocaleNameLength)
IDWriteLocalizedStrings::GetString

Copia la stringa con l'indice specificato nella matrice specificata. (IDWriteLocalizedStrings.GetString)
IDWriteLocalizedStrings::GetStringLength

Ottiene la lunghezza in caratteri (non incluso il terminatore Null) della stringa con l'indice specificato. (IDWriteLocalizedStrings.GetStringLength)

Commenti

Il set di stringhe rappresentate da un IDWriteLocalizedStrings viene indicizzato da un numero UINT32 basato su zero che esegue il mapping a impostazioni locali. L'indice numerico per una specifica impostazione locale viene retreived usando il metodo FindLocaleName .

Un uso comune per l'interfaccia IDWriteLocalizedStrings consiste nel contenere un elenco di nomi di famiglia di caratteri localizzati creati usando il metodo IDWriteFontFamily::GetFamilyNames . Nell'esempio seguente viene illustrato come ottenere il nome della famiglia per le impostazioni locali "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);
}

Requisiti

Requisito Valore
Client minimo supportato Windows 7, Windows Vista con SP2 e Aggiornamento della piattaforma per Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 R2, Windows Server 2008 con SP2 e Platform Update per Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione dwrite.h