Главная страница
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.035 c
2-1164720995
Мишок
2006-11-28 16:36
2006.12.17
Папка windows


15-1164630422
CHILD
2006-11-27 15:27
2006.12.17
Form CHILD


15-1164573191
WondeRu
2006-11-26 23:33
2006.12.17
Вопросы в "Потрепаться" за январь 2005


3-1160596997
БогданБ
2006-10-12 00:03
2006.12.17
Поиск по похожему номеру


15-1164478697
dimonf
2006-11-25 21:18
2006.12.17
На чем лудше начать писать портал?