Pregunta

¿Cómo se puede cambiar la opacidad de un control basado en TWinControl? ¿Y por qué no agregaron esta capacidad al nivel TControl / TWinControl (por qué solo TForm)?

¿Fue útil?

Solución

El control de la opacidad de una ventana es ofrecido por una función llamada ventanas en capas . Puede leer más sobre la función en MSDN . La función solo está disponible para las ventanas de nivel superior . Por lo que puedo decir, Desktop Window Manager (Vista's " glass " ; efecto) también solo está disponible para ventanas de nivel superior.

Las alternativas disponibles para ventanas secundarias son usar regiones de ventana para marcar ciertas áreas de una ventana como completamente transparentes, o para usar mezcla alfa de mapa de bits para dibujar todo el control usted mismo.

Otros consejos

Gracias Lars.

No sé cómo lo harías. Según tengo entendido, Windows solo agregó la translucidez a las ventanas, por lo que TForm puede manejarlo, pero no los controles individuales. Recuerde que la mayoría de los VCL es simplemente una envoltura alrededor de los controles comunes de Windows, por lo que si Windows no lo hace, el control VCL relacionado tampoco lo hará. Los componentes de terceros a menudo amplían la funcionalidad básica.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top