![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как сменить цвет фонта ? [D6, WinXP]
Vemer © (2007-02-07 23:24:00)Создаю подобие TLabel (крестик "Закрыть").
hFont := CreateFont(
-16, 0, 0, 0, 0, 0, 0, 0,
SYMBOL_CHARSET,
OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,
DEFAULT_QUALITY,
DEFAULT_PITCH or FF_DONTCARE, 'Marlett');
Lb_Close :=CreateWindow(
'Static',
'r',
WS_CHILD or SS_Center or SS_NOTIFY or WS_VISIBLE or SS_WHITERECT,
51,25,21,17,Handle, id_44, hInst,nil);
SendMessage(Lb_Close,WM_SETFONT,hFont,0);
Вопрос - как изменить цвет фонта?
capkoh (2007-02-08 23:09:00) [1]> Anatoly Podgoretsky © (08.02.07 19:36) [5]
Я привел это, хм... выражение как пример того, что именно можно писать на месте COLORREF, если цвет задавать константой в HEX. Т.е. голубой будет $FF0000, а никак не $0000FF (красный). Другое дело, если формировать цвет функцией RGB(r, g, b), куда переменные передаются в "естественном" порядке...
Anatoly Podgoretsky (2007-02-08 19:36:00) [2]> capkoh (08.02.2007 11:36:03) [3]
> а также то, что цвет задается в формате $BBGGRR
Это смотря как интерпритировать, ты интерпритируешь как Integer, а другие как набор байт, тогда RR, GG, BB
clickmaker (2007-02-08 16:12:00) [3]
> Vemer © (07.02.07 23:24)
добавить окну, которое Handle, обработчик WM_CTLCOLORSTATIC, в нем SetTextColor(wParam, $FF), если lParam = Lb_Close
capkoh (2007-02-08 11:36:00) [4]Все работает. Только TextOut() какой-то странный... Там еще координаты нужно передавать и длину текста. Не забываем делать ReleaseDC(), а также то, что цвет задается в формате $BBGGRR, если не создается функцией RGB().
Vemer (2007-02-08 02:09:00) [5]Пробовал, не пашет.
Пробовал так:
MyDC := GetDC(Lb_Close);
SetTextColor(MyDC,$FF);
TextOut(MyDC,'r');
DevilDevil (2007-02-08 01:14:00) [6]SetTextColor ?