Хочу чтобы в edit отображался текст на разных языках. Так какой набор символов задать в структуре LOGFONT, адрес которой передается CreateFontIndirect? (т.е. поле lfCharSet) Если взять DEFAULT_CHARSET, то русские буквы уже будут отображаться неправильно, если русский не является языком по умолчанию. Ну и могут быть другие языки. Скажем человеку нужно работать с тремя языками: английский, русский, иврит. И вообще речь не только о контроле edit. Скажем treeview, listview, где тоже нужно добавлять элементы с названиями на разных языках.
Юзай юникодные функции и контролы и фонт Microsoft Sans Serif (lfCharSet любой). Если используешь стандартный эдит, то фонт можно и не менять, главное чтоб всё было в юникоде. Вот пример реально многоязычной проги от MS: http://www.microsoft.com/globaldev/tools/wrapp.mspx
Ну тогда, как говорится, you're fucked Можно конечно попробовать сабклассить контролы и выводить текст с помощью TextOutW, но сообщения ведь всё равно в ANSI, так что не знаю, как тут можно выкрутиться.
To reverser : А вы же мне говорили на вопрос про "азиатские языки в Win9x", что для каждого такого языка есть ANSI-кодировка.
Все сообщения и ANSI-функции работают в системной кодовой странице. Поэтому, например, с японским получится работать только под японской Win9x, а с русским - под русской.
Вот запустил Word 97 под Windows 95 и в нем я могу печатать на разных языках. И тоже самое вот в IE5.0
А у них переписан почти весь ввод и вывод. Самому-то рисовать можно что угодно, благо TextOutW есть. Ещё можно для облегчения жизни использовать IMLangFontLink2.