Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
38 / 38 / 11
Регистрация: 27.09.2014
Сообщений: 491

Запуск MFC-приложения на планшете. Кое-где крякозябры

18.06.2016, 09:59. Показов 690. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Диалоговое приложение. На стационарном ПК, ноуте - все тексты выводятся без замечаний.
Смотрел файлы проекта: *.rc, *.sln, *.vcproj - есть только упоминание о кодировке 1251.
А вот на планшете выводится такое:

Вот в меню второй пункт меняю из программы и он выводится крякозябрами. Остальное создано в конструкторе и не меняется.
Ниже текст тоже формируется программно.
Вот и не пойму куда копать, ведь со шрифтами программа не работает.

Как быть?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.06.2016, 09:59
Ответы с готовыми решениями:

Запуск созданного приложения на реальном планшете
Помогите пожалуйста новичку. Я создал проэкт в Eclipse. На виртуальном все работает. А как теперь мне запустить созданную программу на...

Запуск приложения на другом компьютере, где не установлен c++ builder
Здравствуйте! У меня такой вопрос создал проект на своем компьютере с помощью c++ builder XE5. Скидываю проект на другой комп, где нет c++...

Где в XE5 можно настроить запуск внешнего приложения перед компиляцией проекта?
subj Есть исходник, который перед сборкой должен пропускаться черед внешний препроцессор. Никак не могу найти, где это...

10
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
18.06.2016, 17:04
Цитата Сообщение от Vovka Посмотреть сообщение
Как быть?
Использовать Unicode. В мастере генерации MFC-проектов есть соответствующий пункт.
0
38 / 38 / 11
Регистрация: 27.09.2014
Сообщений: 491
18.06.2016, 18:18  [ТС]
Спасибо, но пробовал: больше сотни ошибок! Это ж везде поисправлять на Unicode...
Думал, может есть проще решение

Мне просто не понятно, почему созданное в конструкторе и сохраненное в кодировке Windows 1251 выводится правильно, а если программно вывожу - крякозябры?
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
18.06.2016, 23:01
Цитата Сообщение от Vovka Посмотреть сообщение
Думал, может есть проще решение
Проще нет. Без Юникода твое приложение обречено на кракозябры.
Не на одном компьютере, так на другом.

Цитата Сообщение от Vovka Посмотреть сообщение
почему созданное в конструкторе и сохраненное в кодировке Windows 1251 выводится правильно, а если программно вывожу - крякозябры?
Не видя кода, ничего не смогу сказать по этому поводу.
0
38 / 38 / 11
Регистрация: 27.09.2014
Сообщений: 491
18.06.2016, 23:16  [ТС]
Цитата Сообщение от Убежденный Посмотреть сообщение
Не видя кода, ничего не смогу сказать по этому поводу.
Так там ничего особенного: тупо меняется текст в пункте меню стандартной функцией. Так же в статик текст выводится стандартно... Такое ощущение, что окно живет в своей кодировке, а код программы в своей!
Ну это ж не PHP + HTML-шаблоны, которые могут быть в разных кодировках!
В общем для меня пока не понятно в чем причина...
0
Заблокирован
20.06.2016, 08:50
Vovka, прицепи проект(важные места удали), гляну.
Цитата Сообщение от Убежденный Посмотреть сообщение
Использовать Unicode. В мастере генерации MFC-проектов есть соответствующий пункт.
кракозябры не могут быть кое где, там или всё ими или же нормальный суппорот 1251(и он спокойно ставится без юникода), надо проект смотреть, по мне там косяк в программной установке названия итема меню.
0
38 / 38 / 11
Регистрация: 27.09.2014
Сообщений: 491
20.06.2016, 09:19  [ТС]
C++
1
2
CMenu *m = GetMenu();
m->ModifyMenu( 1, MF_BYPOSITION|MF_STRING, m->GetMenuItemID( 1 ), "Сеть, отключиться" );
Добавлено через 3 минуты
А ниже меню статик, в него вывожу так:
C++
1
SetDlgItemText( IDC_STATIC_xxx, "Текст");
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
20.06.2016, 10:50
Цитата Сообщение от Unknownx Посмотреть сообщение
кракозябры не могут быть кое где, там или всё ими или же нормальный суппорот 1251
Вполне могут быть.
Например, юникодное окно, а в него шлют текст через ANSI-шную функцию.
На нерусской Windows будут кракозябры, причем не везде, а только в
соответствующих местах.

Vovka, твой код выше не переносится на другие локализации Windows.
Пробуй, например, SetDlgItemTextW - увидишь разницу.
0
38 / 38 / 11
Регистрация: 27.09.2014
Сообщений: 491
20.06.2016, 11:46  [ТС]
Цитата Сообщение от Убежденный Посмотреть сообщение
Пробуй, например, SetDlgItemTextW - увидишь разницу.
C++
1
2
3
WCHAR ss[20];
wcscpy(ss, (WCHAR*)"Текст");
SetDlgItemTextW(m_hWnd, IDC_STATIC_xxx, ss );
Теперь на ПК крякозябры!
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
20.06.2016, 15:35
А ты вообще понимаешь разницу между char и wchar_t?
У тебя грубейшая ошибка в строке #2.
0
38 / 38 / 11
Регистрация: 27.09.2014
Сообщений: 491
20.06.2016, 16:10  [ТС]
Согласен, ступил
C++
1
wcscpy(ss, L"Текст");
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.06.2016, 16:10
Помогаю со студенческими работами здесь

Запуск ОС с карты памяти на планшете
Хочу установить ОС на карту SDHC отформатированную в нтфс. И встал вопрос как запустить загрузку с внешней карты? Биоса то нету.

Запуск программ для Windows на планшете с ОС Android
Всем привет! Ребят, тут очень серьезный вопрос назрел (все, что касается моих денег для меня очень серьезно, ага =)) Нужен планшет для...

Кое-где не отображаются цвета
Вопрос такой, если я создаю документ в формате excel и хочу выделить цветом например определенный столбец...выделяю и не вижу выделения, не...

Разница в просмотре фильмов на планшете Windows и планшете Android
Задали мне тут вопрос, на который я оказался не готов ответить. решил спросить у умных людей. есть домашняя сеть WiFi. есть BBK...

Как сделать так, чтобы устанавливаемые приложения, игры, проги устанавливались на планшете на флешку (D)
Как сделать так, чтобы устанавливаемые приложения, игры, проги устанавливались на флешку (D), а то малый грузит игры с магазина на С, и при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru