Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.04.2009, 00:31   #1
nusik
Форумчанин
 
Регистрация: 13.04.2009
Сообщений: 117
По умолчанию RichEdit и Canvas

Здравствуйте уважаемые участники форума.
Необходимо нарисовать графику в RichEdit.
К сожалению RichEdit не поддерживает Canvas, но мне очень нужно использовать некоторые методы из Canvas.
Как можно решить эту проблему?
Спасибо.
nusik вне форума Ответить с цитированием
Старый 15.04.2009, 00:41   #2
qpokyc
Форумчанин
 
Аватар для qpokyc
 
Регистрация: 07.04.2009
Сообщений: 117
Хорошо

Код:
var
  CC: TControlCanvas;
begin
  CC := TControlCanvas.Create;
  CC.Control := RichEdit1;
  CC.LineTo(10,10);
  CC.Free;
end;
Copyright © qpokyc (qpy[the dog]bk.ru), 2008-2009 г.
qpokyc вне форума Ответить с цитированием
Старый 15.04.2009, 23:10   #3
nusik
Форумчанин
 
Регистрация: 13.04.2009
Сообщений: 117
По умолчанию

благодарю-с

Отканвасянные объекты быстренько исчезают, при срколлинге, выделении текста, и при других событиях.
Как можно сделать так чтобы они не исчезали?

Последний раз редактировалось Stilet; 17.04.2009 в 10:06.
nusik вне форума Ответить с цитированием
Старый 16.04.2009, 11:58   #4
CahekG
Пользователь
 
Регистрация: 25.02.2009
Сообщений: 28
По умолчанию

Можно при смене тек.позиции и при выделении(движение мыши с нажатой левой кнопкой)
Правда будет немного мерцать. И вообще это получается статический объект, который не ползет за текстом при скролинге.
Код:
procedure TForm1.p;
var
  CC: TControlCanvas;
   begin
   
      RichEdit1.Repaint;
      CC := TControlCanvas.Create;
      CC.Control := RichEdit1;
      CC.LineTo(100,100);
      CC.Free;
    end;


procedure TForm1.RichEdit1SelectionChange(Sender: TObject);
begin
p;
end;

procedure TForm1.FormPaint(Sender: TObject);
begin
 p;
end;

procedure TForm1.RichEdit1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
 if (ssLeft IN Shift ) THEN p;
end;
CahekG вне форума Ответить с цитированием
Старый 17.04.2009, 09:16   #5
nusik
Форумчанин
 
Регистрация: 13.04.2009
Сообщений: 117
По умолчанию

Спасибо!!!

Последний раз редактировалось nusik; 17.04.2009 в 09:37.
nusik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
delphi canvas Neymexa Помощь студентам 5 06.01.2010 21:35
Вопрос с canvas Манжосов Денис :) Gamedev - cоздание игр: Unity, OpenGL, DirectX 7 09.03.2009 23:09
Canvas.Polygon Sibedir Общие вопросы Delphi 2 18.01.2008 14:36
Canvas Zven Общие вопросы Delphi 9 06.12.2007 10:40
Canvas (Канва) - заливка фигуры произвольной формы Albenous Общие вопросы Delphi 13 24.02.2007 13:21