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

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

Прозрачный фон у Static Text. [D6, Win95/98]


_sMile ©   (2003-01-09 15:09:00) 

Как сделать прозрачный фон у элемента управления Static Text (обычная надпись), если же это невозможно, то как изменить цвет фона у этого элемента? Заранее благодарен.


Игорь Шевченко   (2003-01-09 17:58:00) [1]

Тоже вариант :-)


_sMile   (2003-01-09 17:51:00) [2]

Надо вот так:

if Msg = WM_CTLCOLORSTATIC then
begin
SetBkMode(wParam, TRANSPARENT);
Result := CreateSolidBrush(Rgb(127, 127, 127));
end;

wParam - Это HDC прорисовываемого элемента.


Игорь Шевченко   (2003-01-09 17:21:00) [3]

_sMile (09.01.03 16:59)

Это и есть фон, очевидно :-)

Создай Static со стилем SS_OWNERDRAW и рисуй там как угодно :-)


_sMile   (2003-01-09 16:59:00) [4]

Что то не совсем работает :( В надписи нужным цветом закрашиваются только те места, в которых не текста.


Игорь Шевченко   (2003-01-09 16:39:00) [5]

Msg.Result := hMyBrush


Axis_of_Evil   (2003-01-09 16:26:00) [6]

procedure WMCTLCOLORSTATIC(MSg: TMsg) message WM_CTLCOLORSTATIC;
и где-то в TMsg чего-нибудь := hMyBrush; ... я полагаю

2Игорь Шевченко
А где чему делать := hMyBrush;

PS hMyBrush: hBrush;


_sMile   (2003-01-09 16:25:00) [7]

Спасибо, сам разобрался.
Вот кусок кода, если кому надо(для белого фона элемента):

WM_CTLCOLORSTATIC:
Result := CreateSolidBrush(Rgb(255, 255, 255));


_sMile   (2003-01-09 16:03:00) [8]

Тогда возникает другой вопрос: А как возвращать что-либо в ответ на сообщение?


Игорь Шевченко   (2003-01-09 15:41:00) [9]

Цвет фона изменяется, путем возврата хэндла кисти в ответ на сообщение WM_CTLCOLORSTATIC


Наверх

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