Привет, Всем! Возникла (как козалось) простенькая задачка - локализация проги на MASM-e. Но тут посыпалась куча проблемм, одну из которых никак немогу решить! Я пытаюсь заменить текст в контролах (textbox, buttoms, combobox ...) при помощи SendMessageW,hwnd,WM_SETTEXT. Но вместо символов в юникоде я получаю просто "прямоугольники". Я что-то делаю не так? P.S. Причем в этом же окне для смены его названия я использую SetWindowTextW - и все получается правильно. Заранее благодарен!
В каком смысле объявляешь? Строку я беру из ресурсов - LoadStringW. Окно формирую - DialogBoxParamW. Что нужно еще?
Именно это и нужно было. Странно, я пару месяцев назад делал подобную штуку для своей проги (да вот не прижилась!, оставил локализацию в INI-файлах), проблем не возникло...
Ясно, а что именно я сделал не так или не сделал!? Если есть образец кода - буду рад! п.с. на такой мути пол дня потерял :-(
ATX >Юникодовая строка или Wide-стринг? Где-то требуется структура, а где -то просто Wide-string. С этим моментом повнимательнее...
На запрос IsWindowUnicode с хендлом моего окна я получаю TRUE, что обозначает - окно юникодовское. Причем как я уже писал, титлы-то в окне выводятся в юникоде, а вот контролы вместо текста в юникоде выводят - |||||||||||. Еще прикол, если эти непонятные знаки скопировать в клипборд и выставить в нотпаде, то получается правильный текст в юникоде. Что-то я ничего не понимаю! Может быть проблема с фонтами?
Возможно шрифт или кодовая страница не те. В языковые и региональные настройки посмотри (возможно не стоит поддержка уникода для кириллицы). Еще можно проверить на других компах на нормальное отображение.