![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Прорисовка фона...
Ustas © (2005-05-20 14:46:00)В моём компоненте - наследнике от TreeView, я сам рисую узлы, так вот у меня не получается писать текст фоновым цветом clWindow, предварительно (фон узлов изменяется - прорисовкой FillRect) - TextOut - как это исправить ?
Ustas (2005-05-23 10:03:00) [1]Нет - всё таки -=XP=- прав.
Я действительно назначал цвет напрямую (через переменную), а надо было через ColorToRGB.
Я и сам разобрался - пришлось покопаться в сорцах VCL - они именно так и делают, но всё-равно - спасибо ! :)
Ustas (2005-05-20 17:07:00) [2][i]SetTextColor(Canvas.Handle, ColorToRGB(clWhite));[/i]
да нет там всё пучком - это я просто руками набрал - общий смысл
-=XP=- (2005-05-20 16:08:00) [3]SetTextColor (Canvas.Handle, clWhite);
SetTextColor(Canvas.Handle, ColorToRGB(clWhite));
Ustas (2005-05-20 15:41:00) [4]Дело в том, что если я непосредственно назначаю цвет шрифта через Canvas.Font.Color, то всё работает нормально,
но у меня есть свой объект шрифта, который я заполняю нужными мне свойствами, а после выбора:
SelectObject (Canvas.Handle, MyFont);
SetTextColor (Canvas.Handle, clWhite);
Windows.TextOut(...)
уже не работает.
Я бы пользовался внутренним объектом Font, но его свойство Style не хочет динамически изменяться...
Просто Джо (2005-05-20 15:06:00) [5]
> Ustas (20.05.05 14:46)
clWindow - это цвет окна, установленный по умолчанию в системе.
> как это исправить ?
что исправить?
Ustas (2005-05-20 14:59:00) [6]Да причем здесь кусок кода - цвет шрифта нормально ставится любой, кроме clWindow - похоже VCL его пользует, как прозрачный, но как её отучить ?
Ни Windows.TextOut, ни Windows.ExtTextOut не помогает...
Eraser (2005-05-20 14:47:00) [7]Ustas (20.05.05 14:46)
Приведи кусок кода, где осуществляется прорисовка.