![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Dapo |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 18.4.2002 Репутация: нет Всего: 1 |
Как вывести картинку в RichEdit? Возникла проблема по динамическому выводу картинок в RichEdit (типа смайликов). Св-ва Canvas у него нету
|
|||
|
||||
| Song |
|
|||
![]() Sysman.ru ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1095 Регистрация: 2.6.2002 Репутация: 2 Всего: 4 |
Зато у него есть дискриптор. Получите DC через Handle, свяжите с TCanvas и рисуйте что угодно на здоровье, правда не забывайте обновлять изображение.
Вообще я видел специализированные ричедиты для ссылок, рисунков и т.д. -------------------- Прежде чем сказать "Невозможно", подумай, прав ли ты |
|||
|
||||
| Dapo |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 18.4.2002 Репутация: нет Всего: 1 |
Спасибо. Вот что получилось:
var Canv:TCanvas; DC:HDC; Picture:TBitMap; begin DC:=GetDC(RichEdit.Handle); Canv:=TCanvas.Create; Canv.Handle:=DC; Picture:=TBitMap.Create; Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'earth.bmp'); Canv.Draw(0,0,Picture); Canv.Free; Но возникла еще проблема. А теперь попробуй на нем попечатай. Напечатать строку поверх рисунка в общем надо (TextOut не подходит, нужны родные строки). Компоненты сторонних разработчиков использовать не хотелось бы. |
|||
|
||||
| Song |
|
|||
![]() Sysman.ru ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1095 Регистрация: 2.6.2002 Репутация: 2 Всего: 4 |
Честно говоря не пробовал, но надо обновлять рисунок на onPaint формы либо ловить WM_PAINT самого TRichEdit (наследник здесь нужен).
-------------------- Прежде чем сказать "Невозможно", подумай, прав ли ты |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Похоже, решение ищется в плоскости: "трясти надо сильнее", а если не получается то "еще сильнее". Спецификация RTF2 уже позволяет вставлять картинку в текст непосредственно, как например при копировании рисунка в Word. Надо использовать, например, RichEdit от RxLib или любой другой компонент, поддерживающий эту спецификацию, или написать свой, и тогда вставляй какие хочешь картинки непосредственно, а рисовать? - ну нарисовал ты, дальше что? В буфер обмена сие не копируется(впрочем и все остальные стандартные методы работать не будут с такой нарисованной картинкой), каждый чих надо обрабатывать и перерисовывать заново в нужном месте...
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |