Непрозрачность TWinControl? - PullRequest
       15

Непрозрачность TWinControl?

2 голосов
/ 28 октября 2009

Как можно изменить непрозрачность элемента управления на основе TWinControl? И почему они не добавили эту возможность на уровень TControl / TWinControl (почему только TForm)?

Ответы [ 2 ]

5 голосов
/ 28 октября 2009

Управление непрозрачностью окна предлагает функция под названием слоистые окна . Вы можете узнать больше об этой функции на MSDN . Эта функция доступна только для окон верхнего уровня . Насколько я могу судить, Диспетчер окон рабочего стола (эффект "стекла" в Vista) также доступен только для окон верхнего уровня.

Альтернативы, доступные для дочерних окон, - это использование областей окна , чтобы пометить определенные области окна как полностью прозрачные, или использование растрового альфа-смешения , чтобы нарисовать весь элемент управления самостоятельно.

5 голосов
/ 28 октября 2009

Спасибо, Ларс.

Не знаю, как ты это сделал. Насколько я понимаю, Windows только добавляет прозрачность окнам, поэтому TForm может справиться с этим, но не отдельные элементы управления. Помните, что большая часть VCL - это просто оболочка для Общих элементов управления Windows, и поэтому, если Windows этого не делает, связанный элемент управления VCL тоже будет редко. Сторонние компоненты часто расширяют базовую функциональность.

...