![]() ![]() |
| rzr |
24.03.2007 23:21
Сообщение
#1
|
|
Новичок ![]() Группа: Пользователи Сообщений: 17 Пол: Мужской Реальное имя: Денис Репутация: 0 |
Люди, подскажите, пожалуйста:
Вот, виновник:
Результат этой процедуры - надпись 'Pascal' с чем-то похожем на тень. Рисуется она у меня нормально, проблема в том, что, если свернуть окно или просто подвигать над ним другое окно какое-нить, то надпись эта проподает и не появляется вплоть до перезапуска приложения. Что скажете? Как это можно исправить? А ещё: как на окно поместить рисунок (точнее - иконку)? И что значит первый параметр в LoadIcon() или LoadImage()? Спасибо за ответы Сообщение отредактировано: rzr - 24.03.2007 23:30 |
| volvo |
24.03.2007 23:25
Сообщение
#2
|
|
Гость |
Файл полностью присоедини... Важно, как ты обрабатываешь сообщения...
|
| rzr |
24.03.2007 23:38
Сообщение
#3
|
|
Новичок ![]() Группа: Пользователи Сообщений: 17 Пол: Мужской Реальное имя: Денис Репутация: 0 |
За сообщения я ещё и не брался: думал пока внешний вид сделать, а что именно за сообщения здесь нужны? (если файл всё ещё нужен - прикреплю)
|
| volvo |
24.03.2007 23:52
Сообщение
#4
|
|
Гость |
Все еще нужен. Прикрепи файл, который можно откомпилировать и запустить.
Вообще-то надо обрабатывать WM_PAINT, оно посылается приложению, когда нужно перерисовать окно. Вот тогда и нужно перерисовывать не только само окно, а и хидер, который ты нарисовал... |
| rzr |
25.03.2007 0:12
Сообщение
#5
|
|
Новичок ![]() Группа: Пользователи Сообщений: 17 Пол: Мужской Реальное имя: Денис Репутация: 0 |
С WM_PAINT разобрался, спасибо за подсказку. А не мог бы ты показать как мне на место idi_application иконку fpc'а кинуть? И ещё: нельзя ли как-нить обойтись без "перекодирования" текста, чтобы русские буквы нормально на окне отображались?
Прикрепленные файлы
program.pas ( 6.78 килобайт )
Кол-во скачиваний: 375 |
| rzr |
9.04.2007 23:22
Сообщение
#6
|
|
Новичок ![]() Группа: Пользователи Сообщений: 17 Пол: Мужской Реальное имя: Денис Репутация: 0 |
Люди, подскажите, пжлст: как выводить русский текст на окно без всяких функций-перекодировок? Или FP не поддерживает Unicode? Может я не те типы использую? Или директиву надо какую-нить?
|
| volvo |
9.04.2007 23:37
Сообщение
#7
|
|
Гость |
Ну, почему сразу "не поддерживает"? Здесь был:
Кодировки и Unicode в FPC ? |
| rzr |
26.04.2007 23:50
Сообщение
#8
|
|
Новичок ![]() Группа: Пользователи Сообщений: 17 Пол: Мужской Реальное имя: Денис Репутация: 0 |
Volvo Скажи, пожалуйста, правильно ли я понимаю: чтобы нам отобразить русский текст на окне, нужно послать строку unicode (т.е. widestring). То бишь надо обычную строку перевести в widestring. Такой вот код, например, не работает как хотелось бы:
Компилируется нормально, Выполнение прерывается на Ansi2WideMoveProc: ExitCode = 216 Что я делаю неправильно? Сообщение отредактировано: rzr - 26.04.2007 23:54 Прикрепленные файлы
1.pas ( 1.97 килобайт )
Кол-во скачиваний: 302 |
| Айра |
22.10.2007 23:03
Сообщение
#9
|
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
Цитата как выводить русский текст на окно без всяких функций-перекодировок Та же проблема (кириллица из файла выходит в виде всяких каракуль), только я совсем не поняла, что делать Можете объяснить? |
| volvo |
22.10.2007 23:06
Сообщение
#10
|
|
Гость |
Как выводишь, и в какой кодировке текст в файле? (лучше присоединить сам файл)
|
| Айра |
22.10.2007 23:20
Сообщение
#11
|
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
Вот код:
uses crt; Вот сам файл:
vopros.txt ( 50 байт )
Кол-во скачиваний: 620 |
| volvo |
22.10.2007 23:58
Сообщение
#12
|
|
Гость |
Не знаю, что там в Висте творится, но XP SP2 (если установлен русский - как язык для не Unicode-приложений) все прекрасно отображает...
|
| andriano |
2.12.2007 8:31
Сообщение
#13
|
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
Кажется проблема с русским языком не совсем верно сформулирована (или я ее не так понял).
Благодаря Микрософт у нас вопроеки ГОСТу появилась новая кодировка символов, а именно - 1251. В DOS и консольных приложениях осталась кодировка, которая предусмотрена ГОСТ как "альтернативная", а у MS имеет номер 866. Проблема проявляется ТОЛЬКО в том случае, если IDE, в котором ведется разработка и сама разрабатываемая программа используют различные кодировки. Самый простой и очевидный способ преодоления возникающих проблем - писать GUI приложения в GUI среде, а консольные - в консольной. Альтернативняй вариант решения - использовать консольную среду, которая явно понимает кириллицу или GIU-редактор, позволяющий менять шрифт + русификатор клавиатуры, поддерживающий 866 страницу. "Простых" способов для преодоления этой специфической проблемы, СГЕНЕРИРОВАННОЙ МИКРОСОФТ ИМЕННО ДЛЯ НАШЕЙ СТРАНЫ, нет. |
![]() ![]() |
|
Текстовая версия | 8.12.2025 11:40 |