Функция WndProc_OnCommand обрабатывает сообщение WM_COMMAND, поступающее в функцию главного окна приложения от меню.
Для установки текущего набора национальных символов в этой функции используется описанная нами ранее функция SetThreadLocale, а также макрокоманды MAKELCID и MAKELANGID:
fRc = SetThreadLocale(MAKELCID(
MAKELANGID(LANG_ENGLISH, SUBLANG_NEUTRAL), SORT_DEFAULT));
Для получения значений отдельных национальных параметров мы вызываем функцию GetLocaleInfo:
GetLocaleInfo(GetThreadLocale(), LOCALE_SLANGUAGE,
szBuf1, 512);
В качестве идентификатора набора национальных параметров мы указываем идентификатор текущего набора параметров для основной задачи приложения, полученный от функции GetThreadLocale.
Имя текущей раскладки клавиатуры определяется при помощи функции GetKeyboardLayoutName:
GetKeyboardLayoutName(szKbLayoutName);
Для получения форматированной текстовой строки даты и времени мы вызываем функции GetDateFormat и GetTimeFormat:
GetDateFormat(GetThreadLocale(),
LOCALE_NOUSEROVERRIDE | DATE_LONGDATE,
NULL, NULL, szBuf1, 512);
GetTimeFormat(GetThreadLocale(),
LOCALE_NOUSEROVERRIDE, NULL, NULL, szBuf1, 512);