Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> RichEdit Background, Помещение фонового рисунка в RichEdit 
:(
    Опции темы
php
Дата 13.11.2004, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.2.2003

Репутация: нет
Всего: 3



Как в RichEdit можно поместить бэкграундное изображение ?
--------------------
Джедаи не пройдут..
PM MAIL   Вверх
Pakshin A. S.
Дата 13.11.2004, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: нет
Всего: 61



Работая с канвой...

В этой теме найдешь решение!!!
http://forum.vingrad.ru/index.php?showtopi...d=1&hl=richedit
Добавлено @ 13:05
Мой пост и пост decoder'а
PM   Вверх
php
Дата 13.11.2004, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.2.2003

Репутация: нет
Всего: 3



Canvas.Handle:= GetDC(RichEdit1.Handle) ???

--------------------
Джедаи не пройдут..
PM MAIL   Вверх
Pakshin A. S.
Дата 13.11.2004, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: нет
Всего: 61



точно! Этот пост и тот, который идет выше... smile
PM   Вверх
php
Дата 13.11.2004, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.2.2003

Репутация: нет
Всего: 3



А что это разве работает ?

RichEdit1.Brush.Bitmap:=TBitMap.Create;
RichEdit1.Brush.Bitmap.LoadFromFile('C:\A1.bmp');
RichEdit1.Brush.Bitmap.Canvas.Draw(7,7,RichEdit1.Brush.Bitmap); ???

Что-то не очень заметно..
Добавлено @ 14:14
Мне необходимо, чтобы рисунок был именно бэкграундным и
не перекрывал ранее введённый (или вводимый текст) RichEdita..

Неужели это так сложно осуществить...? smile
--------------------
Джедаи не пройдут..
PM MAIL   Вверх
Pakshin A. S.
Дата 13.11.2004, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: нет
Всего: 61



Блин... теоритически работать должно.... smile
У меня нет сейчас дельфей...
PM   Вверх
php
Дата 13.11.2004, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.2.2003

Репутация: нет
Всего: 3



Теоретически должно, тоько вот практически не работает..(проверил уже)

Хотя если выводить на канвас формы то рисунок отображается....,
но на канвас RichEdit нет..

--------------------
Джедаи не пройдут..
PM MAIL   Вверх
Pakshin A. S.
Дата 13.11.2004, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: нет
Всего: 61



Вместо рисунки линиии помещаем рисунок...
Код

var  
 bm : TBitmap;
 OldBkMode: integer;
begin
 bm := TBitmap.Create;
 bm.Width := 100;
 bm.Height := 100;
 bm.Canvas.Brush.Color := clRed;
 bm.Canvas.FillRect(Rect(0, 0, 100, 100));
 bm.Canvas.MoveTo(0, 0);
 bm.Canvas.LineTo(100, 100);
 RichEdit1.Brush.Bitmap:=TBitMap.Create;
 RichEdit1.Brush.Bitmap.Canvas.Handle:=GetDC(RichEdit1.Handle);
 RichEdit1.Brush.Bitmap.Canvas.StretchDraw(RichEdit1.ClientRect,BM);
 OldBkMode := SetBkMode(RichEdit1.Brush.Bitmap.Canvas.Handle, TRANSPARENT);
 RichEdit1.Brush.Bitmap.Canvas.TextOut(0,0,RichEdit1.Lines[0]); //â öèêëå ïåðåáèðàåì âñå ñòðîêè...
 SetBkMode(RichEdit1.Brush.Bitmap.Canvas.Handle, OldBkMode);
 bm.Free;
end;

Составлено при помощи DRKB
PM   Вверх
php
Дата 15.11.2004, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.2.2003

Репутация: нет
Всего: 3



Да неплохое решение.., только эффекта "бэкграундности" все же
достичь не удалось (у меня), в принципе тектст на фоновой картинке вывожу даже разными цветами, но возник один очень большой подводный камень, что
будет если вводимый текст выйдет за рамки моего окна, как использовать для него прокрутку ??? smile
--------------------
Джедаи не пройдут..
PM MAIL   Вверх
Pakshin A. S.
Дата 15.11.2004, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: нет
Всего: 61



Да... это неприятно... Надо подумать.... smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.1226 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.