Набор символов для CreateFontIndirect

Тема в разделе "WASM.WIN32", создана пользователем weiv, 2 окт 2004.

  1. weiv

    weiv New Member

    Публикаций:
    0
    Регистрация:
    2 ноя 2003
    Сообщения:
    25
    Адрес:
    Новосибирск
    Хочу чтобы в edit отображался текст на разных языках.

    Так какой набор символов задать в структуре LOGFONT,

    адрес которой передается CreateFontIndirect?

    (т.е. поле lfCharSet)



    Если взять DEFAULT_CHARSET, то русские буквы уже

    будут отображаться неправильно, если русский не

    является языком по умолчанию.



    Ну и могут быть другие языки. Скажем человеку

    нужно работать с тремя языками: английский, русский, иврит.



    И вообще речь не только о контроле edit. Скажем treeview,

    listview, где тоже нужно добавлять элементы с названиями

    на разных языках.
     
  2. reverser

    reverser New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2004
    Сообщения:
    615
    Юзай юникодные функции и контролы и фонт Microsoft Sans Serif (lfCharSet любой). Если используешь стандартный эдит, то фонт можно и не менять, главное чтоб всё было в юникоде.

    Вот пример реально многоязычной проги от MS: http://www.microsoft.com/globaldev/tools/wrapp.mspx
     
  3. weiv

    weiv New Member

    Публикаций:
    0
    Регистрация:
    2 ноя 2003
    Сообщения:
    25
    Адрес:
    Новосибирск
    Да, но мне нужно под Windows 9x

    И без всяких MS Layer for Unicode.
     
  4. reverser

    reverser New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2004
    Сообщения:
    615
    Ну тогда, как говорится, you're fucked :)

    Можно конечно попробовать сабклассить контролы и выводить текст с помощью TextOutW, но сообщения ведь всё равно в ANSI, так что не знаю, как тут можно выкрутиться.
     
  5. weiv

    weiv New Member

    Публикаций:
    0
    Регистрация:
    2 ноя 2003
    Сообщения:
    25
    Адрес:
    Новосибирск
    To reverser :



    А вы же мне говорили на вопрос про "азиатские языки в Win9x", что для каждого такого языка есть ANSI-кодировка.
     
  6. reverser

    reverser New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2004
    Сообщения:
    615
    Все сообщения и ANSI-функции работают в системной кодовой странице. Поэтому, например, с японским получится работать только под японской Win9x, а с русским - под русской.
     
  7. weiv

    weiv New Member

    Публикаций:
    0
    Регистрация:
    2 ноя 2003
    Сообщения:
    25
    Адрес:
    Новосибирск
    Вот запустил Word 97 под Windows 95 и в нем я могу

    печатать на разных языках. И тоже самое вот в IE5.0
     
  8. reverser

    reverser New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2004
    Сообщения:
    615
    А у них переписан почти весь ввод и вывод. Самому-то рисовать можно что угодно, благо TextOutW есть. Ещё можно для облегчения жизни использовать IMLangFontLink2.