Проблеммы с локализацией

Тема в разделе "WASM.BEGINNERS", создана пользователем ATX, 26 фев 2007.

  1. ATX

    ATX New Member

    Публикаций:
    0
    Регистрация:
    7 ноя 2006
    Сообщения:
    145
    Привет, Всем!

    Возникла (как козалось) простенькая задачка - локализация проги на MASM-e.
    Но тут посыпалась куча проблемм, одну из которых никак немогу решить!
    Я пытаюсь заменить текст в контролах (textbox, buttoms, combobox ...) при помощи SendMessageW,hwnd,WM_SETTEXT.
    Но вместо символов в юникоде я получаю просто "прямоугольники".
    Я что-то делаю не так?
    P.S. Причем в этом же окне для смены его названия я использую SetWindowTextW - и все получается правильно.

    Заранее благодарен!
     
  2. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    А передаваемую строку ты как объявляешь/заполняешь?
     
  3. ATX

    ATX New Member

    Публикаций:
    0
    Регистрация:
    7 ноя 2006
    Сообщения:
    145
    В каком смысле объявляешь?
    Строку я беру из ресурсов - LoadStringW.
    Окно формирую - DialogBoxParamW.
    Что нужно еще?
     
  4. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    Именно это и нужно было. Странно, я пару месяцев назад делал подобную штуку для своей проги (да вот не прижилась!, оставил локализацию в INI-файлах), проблем не возникло...
     
  5. ATX

    ATX New Member

    Публикаций:
    0
    Регистрация:
    7 ноя 2006
    Сообщения:
    145
    Ясно, а что именно я сделал не так или не сделал!?
    Если есть образец кода - буду рад!

    п.с. на такой мути пол дня потерял :-(
     
  6. nitrotoluol

    nitrotoluol New Member

    Публикаций:
    0
    Регистрация:
    5 сен 2006
    Сообщения:
    848
    ATX
    >Юникодовая строка или Wide-стринг?
    Где-то требуется структура, а где -то просто Wide-string. С этим моментом повнимательнее...
     
  7. ATX

    ATX New Member

    Публикаций:
    0
    Регистрация:
    7 ноя 2006
    Сообщения:
    145
    Я загнал весь RC файл в формате UNICODE.
     
  8. ATX

    ATX New Member

    Публикаций:
    0
    Регистрация:
    7 ноя 2006
    Сообщения:
    145
    Народ!
    Неужели никто не разбирается в Unicode?
     
  9. asmfan

    asmfan New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2006
    Сообщения:
    1.004
    Адрес:
    Abaddon
    Код (Text):
    1. BOOL IsWindowUnicode(
    2.     HWND hWnd   // handle of window
    3.    );
    МОж в этом проблемы?
     
  10. ATX

    ATX New Member

    Публикаций:
    0
    Регистрация:
    7 ноя 2006
    Сообщения:
    145
    На запрос IsWindowUnicode с хендлом моего окна я получаю TRUE, что обозначает - окно юникодовское.
    Причем как я уже писал, титлы-то в окне выводятся в юникоде, а вот контролы вместо текста в юникоде выводят - |||||||||||.
    Еще прикол, если эти непонятные знаки скопировать в клипборд и выставить в нотпаде, то получается правильный текст в юникоде.

    Что-то я ничего не понимаю!

    Может быть проблема с фонтами?
     
  11. twgt

    twgt New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    1.494
    Возможно шрифт или кодовая страница не те. В языковые и региональные настройки посмотри (возможно не стоит поддержка уникода для
    кириллицы).
    Еще можно проверить на других компах на нормальное отображение.
     
  12. ATX

    ATX New Member

    Публикаций:
    0
    Регистрация:
    7 ноя 2006
    Сообщения:
    145
    На других компах тоже самое.
    Юникодовая поддержка есть.

    Но зничит все-таки что-то не так :-(
     
  13. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Выкладывай сорцы тогда.