memo залить фон градиентом

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

memo залить фон градиентом

Сообщение kosteek » 27.03.2016 20:34:20

Если код ниже применить к форме, то все ок. Но мемо не применяет заливку. Как можно поменять фон мемо?
Код: Выделить всё
procedure TForm1.FormPaint(Sender: TObject);
var
  cv: TCanvas;
begin
  cv:=TCanvas.Create;
  cv.Handle:=GetDC(memo1.Handle);
  cv.GradientFill(memo1.ClientRect,clRed,clgreen,gdVertical);
  ReleaseDC(memo1.Handle,cv.Handle);
  cv.Free;
end;


Добавлено спустя 16 минут 2 секунды:
На вин ХР, если менять размер формы, то заливка мерцает, т.е. заливается, а затем сразу белым фоном идет заливка.
kosteek
постоялец
 
Сообщения: 203
Зарегистрирован: 24.07.2008 14:57:09
Откуда: Украина, г.Славянск

Re: memo залить фон градиентом

Сообщение sts » 27.03.2016 23:22:17

ишь ты, разбежался, короче, в итоге, спустя пары недель изучения задачи, ничего не получится, ну перехватишь отрисовку фона, так или иначе, мемо текст само будет рисовать и вокруг букв градиента не будет, решишь полностью самим рисовать все, но есть пара сообщений которые все равно отрисуют мемо без градиента, возможно дойдешь до патчинга системных библиотек в памяти, в XP прокатит, а в семерке - не факт, в десятке возможно вообще уберут такую возможность, както так.
sts
постоялец
 
Сообщения: 431
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти


Вернуться в Общее

Кто сейчас на конференции

Сейчас этот форум просматривают: xchgeaxeax и гости: 32

Рейтинг@Mail.ru