Если вы о локали вообще, то я не вижу таких решений, что можно было бы обойтись без нее - ну никак. А если конкретно о locale.h я полазил посмотрел у людей на код под Linux'ом они там его подключают setlocale используют насчет _wsetlocale - правда не видел но это еще не значит что его там нет все таки часть stl как никак - пока не попробуешь не узнаешь, а у нас с этим полный абзацNikolay wrote: Но я так и не понял это решение привязано к локали или нет? Если привязана, то его ценность сомнительна.. ценность конечно есть, но....
Validator русский и разочарование
-
- Super wx Problem Solver
- Posts: 362
- Joined: Wed Mar 07, 2007 8:10 am
- Location: Russia, Shakhty
О локали вообще. Если у нас юникод - то должна быть возможность менять регистр без локали.
Правда я видел дисскусию, по-моему на рсдн что без локали даже юникод не преобразуешь так как... точно не помню но там ссылки на сложные случаи в сложных языках...
АПИ винды которые я использую преобразуют без установки локали.
Правда я видел дисскусию, по-моему на рсдн что без локали даже юникод не преобразуешь так как... точно не помню но там ссылки на сложные случаи в сложных языках...
АПИ винды которые я использую преобразуют без установки локали.
Best regards, Nikolay
wxWidgets in russian
Small Notes Manager and Clipboard Manager with History written with wxWidgets
wxWidgets in russian
Small Notes Manager and Clipboard Manager with History written with wxWidgets
Re: Validator русский и разочарование
Народ, пора решить эту проблему, а то она тянется давно.
Проблема уверен зарыта где-то там где char код при нажатии клавиши выводится. Там стоит ограничение,что если код >= 256 то возвращать 0.
Тут то и проблема, видимо этот 0 воспринимается как true.
Поэтому в линуксе навигация в wxTreeCtrl по русским названиям не работает. Валидатор не ловит кириллицу. Копи/пасто по ctrl+c не работает в русской раскладке и т.д.
Щас поищу старые закладки, где я уже кое-что нарыл...
Вот отсюда IMHO ноги растут
http://forums.wxwidgets.org/viewtopic.p ... e+char+256
Проблема в том, что при нажатии клавиши, когда она не в латинской раскладке, то евента соответсвующего нет, поэтому валидатор и не ловит ничего.
Проблема уверен зарыта где-то там где char код при нажатии клавиши выводится. Там стоит ограничение,что если код >= 256 то возвращать 0.
Тут то и проблема, видимо этот 0 воспринимается как true.
Поэтому в линуксе навигация в wxTreeCtrl по русским названиям не работает. Валидатор не ловит кириллицу. Копи/пасто по ctrl+c не работает в русской раскладке и т.д.
Щас поищу старые закладки, где я уже кое-что нарыл...
Вот отсюда IMHO ноги растут
http://forums.wxwidgets.org/viewtopic.p ... e+char+256
Проблема в том, что при нажатии клавиши, когда она не в латинской раскладке, то евента соответсвующего нет, поэтому валидатор и не ловит ничего.
Why 256???
M$, VS2017, C++
Re: Validator русский и разочарование
В дополнение к валидатору я приделал такую функцию
(Провереро под Windows wx-2.8.12)
Теперь русские буковки не проходят. Не призываю использовать этот костыль, но надеюсь это поможет понять суть проблемы.
А под линуксом это вовсе не работает ибо при нажатии чего-то русского евента вовсе нет.
(Провереро под Windows wx-2.8.12)
Code: Select all
wxTextCtrl textAmount_->Connect( wxEVT_CHAR, wxKeyEventHandler(mmTransDialog::OnKeyDown), NULL, this);
...
void mmTransDialog::OnKeyDown(wxKeyEvent& event)
{
int key_code = event.GetUnicodeKey();
if (key_code > 57) return;
event.Skip();
}
А под линуксом это вовсе не работает ибо при нажатии чего-то русского евента вовсе нет.
M$, VS2017, C++
-
- Super wx Problem Solver
- Posts: 401
- Joined: Wed Sep 21, 2005 8:17 am
- Location: Rostov-on-Don, Southern Russia
Re: Validator русский и разочарование
Да, пора уже решить, а то мне скоро тоже понадобится wxTreeCtrl а судя по теме, будут у меня проблемы.maximand wrote:Народ, пора решить эту проблему, а то она тянется давно.
......
Win XP HE SP3, Vista
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0
Re: Validator русский и разочарование
А в 2.9.х оно тоже есть?
Win7/LinuxMint 17, VS2013/C::B, wxWidgets 3.0 x64
-
- Super wx Problem Solver
- Posts: 401
- Joined: Wed Sep 21, 2005 8:17 am
- Location: Rostov-on-Don, Southern Russia
Re: Validator русский и разочарование
SteelRat wrote:А в 2.9.х оно тоже есть?
Про 2.9 не знаю.... у меня 2.8.12 но в ней тоже не пробовал этот глюк, просто читаю эту ветку и так совпало, что скоро мне нужен будет wxTreeCtrl с русским текстом в дереве. Вот и размышляю...
Win XP HE SP3, Vista
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0
Re: Validator русский и разочарование
Всё те же глюки (под Linux по крайней мере)SteelRat wrote:А в 2.9.х оно тоже есть?
M$, VS2017, C++