Как изменить язык календаря?

ВСЕ, последние пару дней я искал MSDN и даже спрашивал на codeguru, но без доступа. Так вот...

Допустим, у меня есть компьютер с Windows XP, текущая локаль которого установлена ​​на US-en. В календаре в правом нижнем углу отображается дата 14.02.2014. Теперь предположим, что я разрабатываю программу, и мне нужно вызвать элемент управления DatePicker, чтобы показать дату. И допустим, что пользователь программы будет по всему миру. Для простоты я выберу свою страну - Россию. ;-) Как теперь сменить локаль на русскую? Я думал, что могу просто использовать ::SetThreadLocale() и все, но эта функция повлияет только на некоторые ресурсы моей программы, а именно на заголовки диалогов. Но это не влияет ни на календарь, ни на элемент управления DatePicker. Поискав в MSDN, я нашел еще 2 функции: SetLocaleInfo(), которую нельзя вызвать, поскольку MSDN говорит, что она повлияет на каждое отдельное приложение в системе — не то, что я хочу, а только на мое, и SetCalendarInfo(), которая выглядит нормально, но я не уверен, что это тот.

Итак, нашел ли я нужную функцию для вызова, а если нет, то есть ли способ сделать то, что я хочу?

Спасибо.


person Igor    schedule 15.02.2012    source источник
comment
Привет, какой язык программирования (фреймворк) ты используешь? Если VS, вы можете взглянуть на this question.   -  person TLama    schedule 16.02.2012
comment
Да, Visual Studio C/C++. И, по-видимому, это невозможно - это означает, что элемент управления не знает локали. :(   -  person Igor    schedule 17.02.2012