Método IDWriteLocalizedStrings::FindLocaleName (dwrite.h)
Obtém o índice baseado em zero do par nome/cadeia de caracteres de localidade com o nome de localidade especificado.
Sintaxe
HRESULT FindLocaleName(
[in] WCHAR const *localeName,
[out] UINT32 *index,
[out] BOOL *exists
);
Parâmetros
[in] localeName
Tipo: const WCHAR*
Uma matriz terminada em nulo de caracteres que contém o nome da localidade a ser procurada.
[out] index
Tipo: UINT32*
O índice baseado em zero do par nome/cadeia de caracteres de localidade. Esse método inicializa o índice para UINT_MAX.
[out] exists
Tipo: BOOL*
Quando este método retorna, contém TRUE se o nome da localidade existir; caso contrário, FALSE. Esse método inicializa comoFALSE.
Valor retornado
Tipo: HRESULT
Se o nome de localidade especificado não existir, o valor retornado será S_OK, mas o índice será UINT_MAX e existiráfalse.
Comentários
Observe que, se o nome da localidade não existir, o valor retornado será um sucesso e o parâmetro exists será FALSE. Se você estiver obtendo o nome da família de fontes para uma fonte e o nome de localidade especificado não existir, uma opção será definir o índice como 0, conforme mostrado abaixo. Há sempre pelo menos uma localidade para uma família de fontes.
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;
Requisitos
Cliente mínimo com suporte | Windows 7, Windows Vista com SP2 e Atualização de Plataforma para Windows Vista [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2008 R2, Windows Server 2008 com SP2 e Platform Update para Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | dwrite.h |
Biblioteca | Dwrite.lib |
DLL | Dwrite.dll |