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

Вниз

Чтение цвета заливки в RichEdit   Найти похожие ветки 

 
Pavelkq   (2008-03-21 15:55) [0]

Имеется раскрашенный RichEdit. Красился так:
var CF: TCharFormat2;
begin
   FillChar(CF.cbSize, SizeOf(TCharFormat2), 0);
   CF.crBackColor:=clWhite;
   CF.cbSize:= SizeOf(TCharFormat2);
   CF.dwMask := CFM_BACKCOLOR;
   SendMessage(RichEdit2.Handle, EM_SETCHARFORMAT, SCF_SELECTION, Integer(@CF));
end;


Хочу прочитать цвет обратно:

CF.cbSize:= SizeOf(CF);
SendMessage(RichEdit2.Handle, EM_GetCharFormat, 0, integer(@CF));
if CF.crBackColor=clWhite then ...

Не получается. Какие тут тонкости?


 
Palladin ©   (2008-03-21 15:59) [1]

эээ... а чего все так ректально? а SelAttributes чем не угодил?


 
Pavelkq   (2008-03-21 16:10) [2]

Дык SelAttributes понятия не имеет о заливке. Или имеет?


 
Palladin ©   (2008-03-21 16:26) [3]

хм... девствительно... ну тады держи

procedure TForm1.Button1Click(Sender: TObject);
var
 CF: TCharFormat2;
begin
 ZeroMem(@CF, SizeOf(TCharFormat2));
 CF.cbSize:= SizeOf(TCharFormat2);
 CF.crBackColor:=clRed;
 CF.dwMask := CFM_BACKCOLOR;
 SendMessage(RichEdit1.Handle, EM_SETCHARFORMAT, SCF_SELECTION, Integer(@CF));
end;

procedure TForm1.Button2Click(Sender: TObject);
var
 CF: TCharFormat2;
begin
 ZeroMem(@CF, SizeOf(TCharFormat2));
 CF.cbSize:= SizeOf(TCharFormat2);
 SendMessage(RichEdit1.Handle, EM_GetCharFormat, 1, integer(@CF));
 ShowMessage(ColorToString(cf.crBackColor));
end;


наслаждайся, но учти. цвет фона берется только для символа перед курсором



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

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

Наверх




Память: 0.47 MB
Время: 0.029 c
2-1206273219
Бегущий человек
2008-03-23 14:53
2008.04.20
Как заюзать функцию из С-файла в проекте Delphi?


8-1177320936
toboom
2007-04-23 13:35
2008.04.20
DSPack TVideoWindow


11-1188223121
Ned
2007-08-27 17:58
2008.04.20
Консольные приложения


15-1204701267
sds
2008-03-05 10:14
2008.04.20
Вопрос по MS SQL 2000


2-1206196869
***mikle***
2008-03-22 17:41
2008.04.20
Ошибка несоответствия типов