Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Представляет коллекцию строк, индексированных по имени языкового стандарта.
Наследование
Интерфейс IDWriteLocalizedStrings наследуется от интерфейса IUnknown . IDWriteLocalizedStrings также имеет следующие типы элементов:
Методы
Интерфейс IDWriteLocalizedStrings содержит следующие методы.
|
IDWriteLocalizedStrings::FindLocaleName Возвращает отсчитываемый от нуля индекс пары "имя языкового стандарта/строка" с указанным именем языкового стандарта. |
|
IDWriteLocalizedStrings::GetCount Возвращает количество пар "язык-строка". |
|
IDWriteLocalizedStrings::GetLocaleName Копирует имя языкового стандарта с указанным индексом в указанный массив. (IDWriteLocalizedStrings.GetLocaleName) |
|
IDWriteLocalizedStrings::GetLocaleNameLength Возвращает длину в символах (не включая признак конца null) имени языкового стандарта с указанным индексом. (IDWriteLocalizedStrings.GetLocaleNameLength) |
|
IDWriteLocalizedStrings::GetStrings Копирует строку с указанным индексом в указанный массив. (IDWriteLocalizedStrings.GetString) |
|
IDWriteLocalizedStrings::GetStringLength Возвращает длину в символах (не включая признак конца NULL) строки с указанным индексом. (IDWriteLocalizedStrings.GetStringLength) |
Комментарии
Набор строк, представленных IDWriteLocalizedStrings , индексируется нулевым числом UINT32 , которое сопоставляется с языковым стандартом. Числовой индекс для определенного языкового стандарта возвращается с помощью метода FindLocaleName .
Интерфейс IDWriteLocalizedStrings часто используется для хранения списка локализованных имен семейств шрифтов, созданных с помощью метода IDWriteFontFamily::GetFamilyNames . В следующем примере показано, как получить имя семейства для языкового стандарта 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);
}
Требования
| Требование | Значение |
|---|---|
| Минимальная версия клиента | Windows 7, Windows Vista с пакетом обновления 2 (SP2) и обновлением платформы для Windows Vista [классические приложения | Приложения UWP] |
| Минимальная версия сервера | Windows Server 2008 R2, Windows Server 2008 с пакетом обновления 2 (SP2) и Обновление платформы для Windows Server 2008 [классические приложения | Приложения UWP] |
| Целевая платформа | Windows |
| Header | dwrite.h |