Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблема отображения DOS-текста в Richedit

4.9K
17 августа 2003 года
shure10
3 / / 16.08.2003
Как корректно отобразить в объекте 'RichEdit' ASCII-текст с поддержкой псевдографики, а также кириллицы или другого по умолчанию установленного в системе языка для кодовой страницы CP850?

Пробовал со структурой CHARFORMAT(2) и непосредственно с RTF-кодом. В первом случае проблемы с псевдографикой, во втором случае - с кириллицей. Интересно, что обычный текстовый контрол корректно отображает и ASCII-кириллицу и псевдографику, а вот UltraEdit32, где вероятно используется RichEdit, похоже сам DOS'овую кириллицу преобразует в ANSII'шную страницу фонта (проверил копированием символов).
310
17 августа 2003 года
fellow
853 / / 17.03.2003
Попробуйте выбрать в RichEdit какой-нибудь терминальный шрифт.
270
17 августа 2003 года
Drew
265 / / 20.07.2000
Цитата:
Originally posted by fellow
Попробуйте выбрать в RichEdit какой-нибудь терминальный шрифт.


Функции OemToChar и CharToOem не пробовали?

348
18 августа 2003 года
Saris
389 / / 14.03.2003
Можешь написать перегонщик из Oem в ansi. Процедуры перегонки будут выглядеть так:
char ansitooem(char c)
{
unsigned char t ;
t = TOBYTE(c);
if(t >= 191 && t <= 239) return TOBYTE(t - 64);
else if(t >= 128 && t <= 175) return TOBYTE(t + 48 );
else if(t >= 240 && t <= 255) return TOBYTE(t - 16 );
else return t;
}
//---------
char oemtoansi(char c)
{
unsigned char t ;
t = TOBYTE(c);
if(t >= 127 && t <= 175) return TOBYTE(t + 64 );
else if(t >= 176 && t <= 223) return TOBYTE(t - 48 );
else if(t >= 224 && t <= 239) return TOBYTE(t + 16 );
else return t;
}
4.9K
18 августа 2003 года
shure10
3 / / 16.08.2003
Цитата:
Originally posted by Drew

Функции OemToChar и CharToOem не пробовали?



Но в этом случае не будет отображена псевдографика, ради чего собственно это все и надо.

4.9K
18 августа 2003 года
shure10
3 / / 16.08.2003
Цитата:
Originally posted by fellow
Попробуйте выбрать в RichEdit какой-нибудь терминальный шрифт.



Пробовал. В первом описанном мною случае шрифт просто не устанавливался или устанавливался криво (псевдографикой непахло). Во втором случае (через rtf-код) псевдографика появлялась, а вот кириллица нет.

270
18 августа 2003 года
Drew
265 / / 20.07.2000
Цитата:
Originally posted by shure10


Пробовал. В первом описанном мною случае шрифт просто не устанавливался или устанавливался криво (псевдографикой непахло). Во втором случае (через rtf-код) псевдографика появлялась, а вот кириллица нет.


OEMTOCHAR и наоборот вроде нормально отрабатывает...

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог