wxFormBuilder и буква "я" Topic is solved

Это русская секция форума wxWidjets. В этой секции вы можете обсуждать любые вопросы, связанные с wxWidgets на вашем родном языке.
Post Reply
Dalexand
In need of some credit
In need of some credit
Posts: 2
Joined: Wed Mar 04, 2009 10:39 am

wxFormBuilder и буква "я"

Post by Dalexand » Wed Mar 04, 2009 11:01 am

Создаю на форме wxRadioBox, в choices задаю значение, начинающееся со строчной "я" ("является" "не является").
После компиляции вместо радиобаттона со строкой "является" - радиобаттон с пустой строкой. Попробовал генерпцию файла в ANSI/UTF, результат один. Если строка начинается с заглавной "Я", или строчное "я" стоит в любом месте кроме первой буквы, то все нормально.

Это не проблема wxFormBuilder, а скорее wxWidgets, т.к. генерируется следующий код:

Code: Select all

wxString nameFilterType_Choices[] = { wxT("является"), wxT("не является") };
int nameFilterType_NChoices = sizeof( nameFilterType_Choices ) / sizeof( wxString );
nameFilterType_ = new wxRadioBox( this, wxID_ANY, wxT("Имя"), wxDefaultPosition, wxDefaultSize, nameFilterType_NChoices, nameFilterType_Choices, 2, wxRA_SPECIFY_COLS );
который неправильно обрабатывается виджетами.

Есть ли решение?
Last edited by Dalexand on Thu Mar 05, 2009 1:19 pm, edited 1 time in total.

borr_1
Super wx Problem Solver
Super wx Problem Solver
Posts: 362
Joined: Wed Mar 07, 2007 8:10 am
Location: Russia, Shakhty

Post by borr_1 » Thu Mar 05, 2009 5:11 am

У меня все в порядке с wxRadioBox Unicode и "является". Но я использую CodeBlock с wxSmith
wxString __wxRadioBoxChoices_1[1] =
{
_("является")
};
RadioBox1 = new wxRadioBox(this, ID_RADIOBOX1, _("Label"), wxDefaultPosition, wxDefaultSize, 1, __wxRadioBoxChoices_1, 1, 0, wxDefaultValidator, _T("ID_RADIOBOX1"));
Кодировка файла UTF-8 #define wxUSE_UNICODE, __GNUWIN32__, __WXMSW__, WXUSINGDLL

Dalexand
In need of some credit
In need of some credit
Posts: 2
Joined: Wed Mar 04, 2009 10:39 am

Post by Dalexand » Thu Mar 05, 2009 9:49 am

Тогда похоже, что ошибка только в ANSI. Попробовал Unicode-сборку виджетов, все нормально.

Если кто-нибудь еще использует неюникодную сборку виджетов, проверьте, пожалуйста, код.

borr_1
Super wx Problem Solver
Super wx Problem Solver
Posts: 362
Joined: Wed Mar 07, 2007 8:10 am
Location: Russia, Shakhty

Post by borr_1 » Fri Mar 06, 2009 1:58 pm

Теги wxT убрать вообще для ANSI пробовали или поменять их на виндовое _()

Kolya
Experienced Solver
Experienced Solver
Posts: 85
Joined: Mon Dec 11, 2006 11:35 am
Location: /dev/null

Post by Kolya » Fri Mar 06, 2009 4:00 pm

borr_1 wrote:Теги wxT убрать вообще для ANSI пробовали или поменять их на виндовое _()
Это никоим образом не влияет на функционирование ANSI сборок
Dalexand wrote:Это не проблема wxFormBuilder, а скорее wxWidgets, т.к. генерируется следующий код:
Эта проблема в операционной системе, а не в wxWidgets и она была обойдена еще пол года назад. Она связана с тем что 'я' это 0xFF и у винды от этого крышу сносит. Для юникода символ 0xFFFF несуществующий и проблема там не проявляется.

Post Reply