Вниз
Скачать: 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.46 MB
Время: 0.015 c
4-92821
Пенсионер
2002-09-13 12:35
2002.10.28
Помогите ламеру осуществить хитрый перехват нажатие кнопки?


14-92658
Anatoly Podgoretsky
2002-10-06 11:40
2002.10.28
Именинники 6 октября


4-92803
Alek Aaz
2002-09-17 08:19
2002.10.28
Ресурс занят


3-92393
студент2002
2002-10-08 14:02
2002.10.28
TADOTable


3-92372
Oleg_er
2002-10-08 06:41
2002.10.28
TQuery & SELECT fld, (SELECT fld1 FROM ...) as..., FROM...




   Наверх