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

Ваш аккаунт

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

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

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

Графика в RichEdit

14K
08 ноября 2005 года
Dungeon
2 / / 08.11.2005
Вобщем задолбался я уже.
Пишу текстовый редактор. Все бы хорошо, но туда нужно графику вставлять. Если беру RichEdit, делаю его Parent'ом какого-либо элемента, то текст в RichEdit'е становится нефидимым. Его можно скопиролвать, он есть, но не виден.
Пробовал менять цвет текста - не помогло.

В Memo все в порядке с текстом, но мне нужно изменять шрифт для отдельных строк.
Предполагаю в нужном месте увеличивать высоту строки и вставлять картинку на место этой строки.
Но задница еще и в том, что не могу понять, как определяется размер междустрочного интервала.
Скажем Memo1.Font.Size := 8;
Тогда для того, чтоб картинка была ниже последней строки, нужно сделать

Image1.Top := Memo1.Lines.Count*Memo1.Font.Size;
Это теоретически. На практике нужно еще на 2 умножить. Но тут не учтем междустрочный интервал. Как его определить - хз.

Если учитывать мекждустрочный интервал, то быдет так:
Image1.Top := (Memo1.Font.Size-1)*2*Memo1.Lines.Count - X*Memo1.Lines.Count;
Тут Х - сам интервал. Меетодом научного тыка я определил, какой Х соответствует некоторым размерам шрифта
Шрифт сам MS Serif
Шрифт / Х
7 1
8 3
9 5
10 4
11 6
14 4
20 8

Это мой курсовой проект... все остальное вроде понятно... но с этим уже... хоть ты вешайся. Препод, гадина, сам ничего не знает (мат, мат, мат).
5
08 ноября 2005 года
hardcase
4.5K / / 09.08.2005
Цитата:
Originally posted by Dungeon
Вобщем задолбался я уже.
Пишу текстовый редактор. Все бы хорошо, но туда нужно графику вставлять. Если беру RichEdit, делаю его Parent'ом какого-либо элемента, то текст в RichEdit'е становится нефидимым. Его можно скопиролвать, он есть, но не виден.
Пробовал менять цвет текста - не помогло.


RichEdit не поддерживает вставку в него графических объектов :( Тоже с такой ерундой сталкивался.
Но я подозреваю, что это можно организовать, используя OLE - правда, для этого придётся подключать WinAPI

14K
08 ноября 2005 года
Dungeon
2 / / 08.11.2005
Цитата:
Originally posted by hardcase
RichEdit не поддерживает вставку в него графических объектов :( Тоже с такой ерундой сталкивался.
Но я подозреваю, что это можно организовать, используя OLE - правда, для этого придётся подключать WinAPI



Проблему решил использованием DBImage. Она располагается поверх RichEdit. В форме Autoscroll := False. У RichEdit Align на всю форму.
Получает одинаковые координаты Картинки как на форме, так и внутри Рич Эдита. Т.е. они совпадают :)
На место, где располагается картинка, ставим, скажем, пробелы. Так можно сделать обтекание ее текстом. Если пустые строки ставить , то она будет разделять текст.

Но проблемы с междустрочным интервалом не решил:(

10
09 ноября 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by hardcase
RichEdit не поддерживает вставку в него графических объектов :( Тоже с такой ерундой сталкивался.
Но я подозреваю, что это можно организовать, используя OLE - правда, для этого придётся подключать WinAPI


Блин, ну до фига реализаций RichEdit с внедрением объектов есть, взять тот же RX. Хоть посмотрите, как там сделано.

2.1K
20 ноября 2005 года
Kai
37 / / 30.05.2003
RxRichEdit умеет работать с изображениями, компоненты бесплатны. Правда по-моему GIF-анимацию туда не вставить, я в свое время использовал HTML для этого.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог