Вопрос

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

Это было полезно?

Решение

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

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top