Программирование для Windows NT (том 2)



         

Установка набора национальных параметров


Как мы только что сказали, в операционной системе Microsoft Windows NT для установки набора национальных параметров, используемых текущей задачей, эта задача должна вызвать функцию SetThreadLocale:

BOOL SetThreadLocale(

  LCID Locale); // идентификатор национального набора

Работа с функцией SetThreadLocale проста - вам достаточно передать ей нужный идентификатор в качестве параметра. При успехе функция возвратит значение TRUE, а при ошибке - FASLE. В последнем случае вы можете определить код ошибки с помощью функции GetLastError.

Как задавать идентификатор национального набора параметров?

Вы можете передать  функции SetThreadLocale либо одну из констант, либо значение, полученное от макрокоманды MAKELCID. Список констант приведен ниже.

Константа

Описание

LOCALE_SYSTEM_DEFAULT

Идентификатор, который используется операционной системой по умолчанию

LOCALE_USER_DEFAULT

Идентификатор, который используется по умолчанию для текущего пользователя, работающего в среде Microsoft Windows NT

   Макрокоманда MAKELCID позволяет составить идентификатор национального набора параметров LCID из двух значений: идентификатора национального языка и идентификатора метода сортировки. Ниже мы привели прототип этой макрокоманды и ее определение:

DWORD MAKELCID(

  WORD  wLanguageID, // идентификатор национального языка

  WORD  wSortID);    // идентификатор метода сортировки

#define MAKELCID(lgid, srtid) \

  ((DWORD)((((DWORD)((WORD)(srtid))) << 16) \

  | ((DWORD)((WORD)(lgid)))))

Что касается идентификатора сортировки, то здесь вы должны указывать значение SORT_DEFAULT. А для создания идентификатора национального языка вам придется воспользоваться еще одной макрокомандой с именем MAKELANGID:

WORD MAKELANGID(

  USHORT usPrimaryLanguage, // первичный идентификатор языка

  USHORT usSubLanguage);    // вторичный идентификатор языка

#define MAKELANGID(usPrimaryLanguage, usSubLanguage) \

  ((((WORD)( usSubLanguage)) << 10) \




Содержание  Назад  Вперед