Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.17;
Скачать: CL | DM;

Вниз

Можно ли в TRichEdit вывести текст с фоном произв. цвета?   Найти похожие ветки 

 
mmms   (2006-11-27 14:39) [0]

Т.е. часть текста под одним цветом фона, часть под другим?


 
Gydvin ©   (2006-11-27 15:25) [1]

Можно. В гугле ищем "Рисовать на tmemo" "Рисовать на tedit"


 
alex810 ©   (2006-11-27 15:56) [2]


> Можно. В гугле ищем "Рисовать на tmemo" "Рисовать на tedit"

Для рисования на поверхности TMemo необходимо создать создать собственный компонент, наследованный от TMemo и переопределить в нём рисование. Примерно так:

type
 TMyMemo = class(TMemo)
 protected
   procedure WMPaint(var message: TWMPaint); message WM_PAINT;
end;

А теперь добавьте реализацию этой процедуры:

procedure TMyMemo.WMPaint(var message: TWMPaint);
var
 MCanvas: TControlCanvas;
 DrawBounds : TRect;
begin
 inherited;
 MCanvas:=TControlCanvas.Create;
 // Работаем с временной записью TRect.
 DrawBounds := ClientRect;
 try
   MCanvas.Control:=Self;
   with MCanvas do
   begin
     Brush.Color := clBtnFace;
     FrameRect( DrawBounds );
     InflateRect( DrawBounds, -1, -1);
     FrameRect( DrawBounds );
     FillRect ( DrawBounds );
     MoveTo ( 33, 0 );
     Brush.Color := clWhite;
     LineTo ( 33, ClientHeight );
     PaintImages;
   end;
 finally
   MCanvas.Free;
 end;
end;

Процедура PaintImages рисует картинки на канвасе Memo.

procedure TMyMemo.PaintImages;
var
 MCanvas: TControlCanvas;
 DrawBounds : TRect;
 i, j : Integer;
 OriginalRegion : HRGN;
 ControlDC : HDC;
begin
 MCanvas:=TControlCanvas.Create;
 // Работаем с временной записью TRect.
 DrawBounds := ClientRect;
 try
   MCanvas.Control:=Self;
   ControlDC := GetDC(Handle);
   MCanvas.Draw(0, 1, Application.Icon);
 finally
   MCanvas.Free;
 end;
end;


 
Leonid Troyanovsky ©   (2006-11-27 18:05) [3]


> alex810 ©   (27.11.06 15:56) [2]

> собственный компонент, наследованный от TMemo и переопределить
> в нём рисование.


С тем же успехом (или, даже, с большим успехом)
можно рисовать на TWin/Control.

Кстати, тебя, видимо, уже утомило ссылаться на
тот самый справочник, а это уже не очень хорошо.

Кроме того, упомянутый справочник вполне возможно
высылать заинтересованным лицам по почте, если уж
ты занял столь альтруистическо-спамерскую позицию.

--
Regards, LVT.


 
mmms   (2006-11-27 19:52) [4]

Спасибо, если рисовать, то это совсем другое, думал текст с цветным фоном так же легко написать как и сам цветной текст.


 
Gydvin ©   (2006-11-27 19:56) [5]


> mmms   (27.11.06 19:52) [4]
>
> Спасибо, если рисовать, то это совсем другое, думал текст
> с цветным фоном так же легко написать как и сам цветной
> текст.

Это несложно. Поищите и удивитесь


 
Gydvin ©   (2006-11-27 19:58) [6]


> Для рисования на поверхности TMemo необходимо создать  
> собственный компонент

Это кто Вам такое сказал, забросайте его кирпичами


 
programania ©   (2006-11-27 20:35) [7]

Сделайте в Wodr что нужно
Сохрание в rtf
Прочитайте в RichEdit:  RichEdit1.Lines.Add("...")
Выкиньте лишнее



Страницы: 1 вся ветка

Текущий архив: 2006.12.17;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.067 c
15-1164382433
oldman
2006-11-24 18:33
2006.12.17
А где работает Пушной?


2-1164628470
Cooller
2006-11-27 14:54
2006.12.17
Наименьший делитель


2-1164719095
Феникс
2006-11-28 16:04
2006.12.17
Не могу разобраться с ExtractFilePath(Application.ExeName)


3-1160396447
Sanya_BBB
2006-10-09 16:20
2006.12.17
Как присвоить результат запроса select count (*) from mytable?


15-1164320976
ANTPro
2006-11-24 01:29
2006.12.17
Вопрос: