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

Ваш аккаунт

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

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

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

RichEdit2.0 через API, цвет, шрифт...и тд

16K
09 ноября 2006 года
PupaJr
20 / / 14.09.2006
Такая задача:
а) пользователь набирает текст в RichEdit2, выделяет его и оформляет цветом, подчёркиванием, кусочек текста там, там, какой-то кусочек текста курсивом и т.д
(под окном ввода текстакнопочки - как в ворде I U B T C .... нажимая на которые получаем введённый текст с этими атребутами)
б) потом этот оформленный текст сохраняется в текстовой переменной типа char, хранится некоторое время и потом выдаётся в другой RichEdit2 в другом окне приложения или вообще в другом приложении, с СОХРАНЁННЫМ оформлением.

настройки цвета и типа шрифта конвертирубтся допустим так:
жирным быделен текс ставим ключ: /b, закончилась часть жирного /B
цвет: /RGB, отключение /rgb
курсив: /It, отключение /it
и так далее тип шрифта, зачеркнутость и подчёркивание, размер....

Почему все настройки шрифта в текст, потому что уже существует интерфейс обмена между окнами и его менять - в 100раз больше работы и вообще куча программ зацепится, которых изменить нет возможности.

Как пробывал:
Всё на API через sendmessage
Использовал CHARFORMAT2, ставил атрибуты, но при этом другие теряются, если уже был цвет, то я ставлю следующее слово другим цветом или например жирным делаю, то и тот тоже становится новым атрибутом а свой теряет, хотя посылаю сообщение _seletcion (не помню точно как пишется, типо работать с выделенным текстом только), перед этим посылаю сообщение начала и конца выделенного текста. Ну я думаю здесь просто надо точно последовательность сделать и читать атребуты и на них ставить, а у меня видимо получается что я как-бы новые ставлю....
А вот как эти атребуты потом вытащить и перевести в текстовые ключи а потом опять в атребуты в другом окне - тут я сел... ПОМОГИТЕ!!! Спасибо.
8.9K
10 ноября 2006 года
Kap
77 / / 10.09.2006
Помощь- пиши не на АПИ! Такие вещи на нем реализуются путем написание сотен строк кода.
16K
14 ноября 2006 года
PupaJr
20 / / 14.09.2006
Дело в том, что на API весь проект и если я начинаю использовать MFC то прога раздувается сильно в размере (ехе) и начинает требовать разные библиотеки, у меня то проект работает, а вот при переносе его на тругой комп то там раз за разом всплывают потребности в dll_ках, а таскать за файлом своим десято dll от VC типа MSVC71, размером около 1М при этом проект сам 300к - ну как-то нелогично..

У меня больше проблема вызывает работа со строками и CHARFORMAT2 - как ключи типа /b /u и тд, выловить в строке и поставить соотв. атрибут в RICHEDIT2.0 с точки установки этого ключа в тексте... и наоборот, найти изменение атрибута в тексте и преобразовать его в соотв. текстовый ключ.
Думаю всё решиться в цикле While ... и доступ через указатели к строке, тут никаких MFC ненадо. Но я несилён в строках с указателями и с CHARFORMAT2 (я вообще начинающий :-) ).
Длина текста небольшая, порядка 256 символов, так что цикл будет небольшой по времени. Ведь атребуты могут идти подряд и в перемешку, вот именно это и эти возможние комбинации меня путают в создании алгоритма цикла. Сделать на 1 атрибут нет проблем, 1 цикл и я найду в строке подстроку "/b", и могу поставить "жирность", но вот с кучей атрибутов как быть....
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог