Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Прорисовка фона...


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)

Приведи кусок кода, где осуществляется прорисовка.


Наверх

Титульная страница Поиск, карта сайта Написать письмо