![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Русский язык в нерусской Windows [D3]
esVer © (2002-05-28 15:31:00)Каким образом можно заставить отображаться в стандарных контролах Windows (TListBox, TCombobox, TCheckBox, TButton) русские символы, в системе, где по умолчанию установлен английский (или иной другой язык, кроме русского), если установленные русские шрифты присутствуют?
Любые соображения приветствуются. Заранее спасибо.
esVer (2002-05-28 18:59:00) [1]Да, меняю не для всех, т.к. в программе можно установить отдельный шрифт для интерфейса и для текста словаря.
Попробую, спасибо.
Andrey007 (2002-05-28 17:31:00) [2]У меня эта проблема решилась установкой Form1.Font.Charset=RUSSIAN_CHARSET. При этом у всех компонент ParentFonr=True. Может быть Вы меняете Font.Charset не для всех компонент на форме?
esVer (2002-05-28 17:20:00) [3]Charset после выбора получается русский (204)
WM_SETFONT посылал - не помогает.
Может юникодные контролы поискать?
Игорь Шевченко (2002-05-28 16:59:00) [4]Если необходим стиль DropDown, тогда делается комбинация из 3-х компонентов - Edit, Button и ListBox.
Боюсь, что с Charset под 2000 все-таки что-то в программе не то.
А поглядеть, какой Charset после выбора получается можно ?
(Послать WM_SETFONT, наконец :-)))
esVer (2002-05-28 16:42:00) [5]Игорь, там необходим стиль DropDown, поскольку, это окно ввода для поиска слова. Можно ввести руками, а можно выбрать из истории поиска, т.е. из выпадающего списка.
Если бы все так просто было...
По поводу правильно установленного charset: в программе позволяется менять шрифт для отображения информации, поскольку стандартный диалог Windows позволяет менять и charset, то с этим пунктом всё нормально. Впрочем, я и в ручную пробовал писать
Font.Charset:=RUSSIAN_CHARSET - тоже не помогло.
Игорь Шевченко (2002-05-28 16:32:00) [6]
> Самая большая загвоздка с TCombobox со стилем DropDown -
> как сделать его выпадающий список ownerdraw
csOwnerDrawFixed
Рисовать на ComboBox.OnDrawItem
А под Win2000 если правильно установлен CharSet, проблем, вроде бы, быть не должно...
esVer (2002-05-28 16:24:00) [7]Тестировал я под Windows 2000, поддержка кириллицы и др. языков установлена, но по умолчанию (default locale) стоит english.
Дело в том, что я пишу словарь, поэтому для меня критично отображение текста на нужном мне языке. TMemo отображает текст нормально, на русском, остальные же контролы - нет.
Частично выход из ситуации есть - интерфейс можно сделать многоязычный (или переписать часть контролов, это не проблема).
TListBox можно перевести в режим OwnerDraw, но тогда работает медленнее, это плохо :( Самая большая загвоздка с TCombobox со стилем DropDown - как сделать его выпадающий список ownerdraw - бог его знает :(
Но это всё полумеры, хочется правильногорешения.
Кстати, если кому интересно, сам словарь можно посмотреть здесь:
http://www.citycat.ru/~jumper/dvbeta.zip(350 кб)
Афоня (2002-05-28 16:07:00) [8]Мне кажется esVer, что всё дело в том , что даже если ты и поставил туда эти шрифты, операционка работает под другой кодовой страницей, отличной от той, под которой "нормально" работают шрифты. А как заставить шрифты отображаться в другой кодовой странице я не знаю.
Быть может кто ещё подскажет? А? Мастаки?
Игорь Шевченко (2002-05-28 15:50:00) [9]По умолчанию установить International Settings никак нельзя ?
И Windows какие - 9x или NT ?
esVer (2002-05-28 15:40:00) [10]Может и должны, но у меня одни кракозябры, несмотря на выставленный charset.
Malder (2002-05-28 15:37:00) [11]Хм. А что, разве криво отображаются ?
Вообще-то должны нормально...