Вниз
Скачать: CL | DM;

Текст и цвет   Найти похожие ветки 

← →
Vadim SA ©   (2002-10-16 16:35) [0]

Как выделить автоматически определённый текст в Мемо , например красным "блболабла", зелёным "моболабла"...


← →
MBo ©   (2002-10-16 16:40) [1]

В мемо нельзя, в RichEdit см. SelXXX


← →
Vadim SA ©   (2002-10-16 18:24) [2]

А поподробней пожалуйста!


← →
pusrg ©   (2002-10-16 20:08) [3]

Если извращаться, можно везде, не только в Memo :)
Пример конечно сырой, но модифицируй его по своему желанию.


unit Main;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons;

type
TForm1 = class(TForm)
Memo1: TMemo;
BitBtn1: TBitBtn;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
MemoCanvas: TControlCanvas;

const
SelectText:string = "em";

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
MemoCanvas:=TControlCanvas.Create;
MemoCanvas.Control:=Memo1;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
MemoCanvas.free;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
var CursorPos:TPoint;
SelRect, TextRect:TRect;
SizeText:TSize;
BeforeSelText:string;
i:integer;
begin
for i:=0 to Memo1.Lines.Count-1 do
begin
Memo1.SelStart:=Pos(SelectText, Memo1.Lines[i]);
BeforeSelText:=copy(Memo1.Lines[i], 1, Memo1.SelStart-1);
SizeText:=MemoCanvas.TextExtent(BeforeSelText);
SelRect.TopLeft:=Point(SizeText.cx+1, i*SizeText.cy);

SizeText:=MemoCanvas.TextExtent(SelectText);
SelRect.BottomRight:=Point(SelRect.Left+SizeText.cx, (i+1)*SizeText.cy);

MemoCanvas.Brush.Style:=bsSolid;
MemoCanvas.Brush.Color:=clRed;
MemoCanvas.FillRect(SelRect);

MemoCanvas.Brush.Style:=bsClear;
SizeText:=MemoCanvas.TextExtent(Memo1.Lines[i]);
TextRect.TopLeft:=Point(1,i*SizeText.cy);
TextRect.BottomRight:=Point(SizeText.cx, (i+1)*SizeText.cy);
MemoCanvas.TextRect(TextRect, TextRect.Left, TextRect.Top, Memo1.Lines[i]);
end;
end;

end.


← →
Vadim SA ©   (2002-10-17 15:13) [4]

Спасибо, поковырял и всё пошло как мне надо!



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.011 c
4-92786
_sMile
2002-09-07 07:55
2002.10.28
DeleteFile


7-92760
Metallica
2002-08-05 19:32
2002.10.28
Как заблокировать клавиатуру.


1-92604
Cr@sh
2002-10-12 21:01
2002.10.28
Сопоставление процедур.


1-92603
EugeneK
2002-10-17 11:34
2002.10.28
Поиск файла


1-92462
Le!
2002-10-18 08:06
2002.10.28
Сдвиг обьектов при запуске программы на другом компе!




   Наверх