![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как сделать на компонент полупрозрачным [D7, XP]
KyRo © (2006-12-15 10:53:00)Подскажите можно ли сделать на форме любой компонент (напр. Panel) полупрозрачным. Если можно то как ?
DVM (2006-12-15 16:42:00) [1]
> ... а если угодно сделать прозрачность, то берешь то что
> находиться по ним
> (
> c := TCanvas.Create;
> c.Handle := GetDC(TControl(Parent).Handle);
> )
>
> , смешиваешь с тем что хочешь нарисовать... и рисуешь.
Только вот та часть родительского окна, что перекрыта сверху дочерним окном не обязана рисоваться вовсе и все зависит от стилей окна WS_CLIPSIBLINGS и WS_CLIPCHILDREN
KyRo (2006-12-15 16:27:00) [2]
> ZeroDivide © (15.12.06 14:25) [1]
> Полупрозрачные компоненты нужно писать самому. У стандартных
> компонентов нет свойств изменяющих их прозрачность.
>
> Если можно то как ?
> Делаешь наследника, перекрываешь ему метод Paint и рисуешь
> все что душе угодно...
>
> ... а если угодно сделать прозрачность, то берешь то что
> находиться по ним
> (
> c := TCanvas.Create;
> c.Handle := GetDC(TControl(Parent).Handle);
> )
>
> , смешиваешь с тем что хочешь нарисовать... и рисуешь.
Спасибо
ZeroDivide (2006-12-15 14:25:00) [3]Полупрозрачные компоненты нужно писать самому. У стандартных компонентов нет свойств изменяющих их прозрачность.
Если можно то как ?
Делаешь наследника, перекрываешь ему метод Paint и рисуешь все что душе угодно...
... а если угодно сделать прозрачность, то берешь то что находиться по ним
(
c := TCanvas.Create;
c.Handle := GetDC(TControl(Parent).Handle);
)
, смешиваешь с тем что хочешь нарисовать... и рисуешь.