2010-06-29 19 views
5

¿Hay alguna manera de hacer un control transparente como botón, editar, panel, etc.? Me refiero a algo así como la capacidad o la mezcla alfa que tenemos en la propiedad de la forma.Haga un control transparente

+1

Puede obtener botones o paneles transparentes en una variedad de fuente abierta o libre. Normalmente, no "haces" transparentes tus controles existentes, ya que normalmente es mucho trabajo. –

Respuesta

3

Algunos componentes tienen propiedad transparente. En otros, puede elegir 'ninguno' como color propiedad. Difiere de componente a componente, pero no todos los componentes se pueden hacer transparentes cambiando una propiedad.

Debe intentar buscar en Google componentes transparentes Delphi, hay componentes descargables y trucos que puede hacer para que los componentes existentes sean transparentes.

+1

Lo busqué en Google durante 6 meses y no encontré ninguna solución útil. Puede suceder porque Tengo 3 razones: 1- Cuando un formulario puede tenerlo, ¡otros controles pueden tenerlo también! 2- Lo he visto en algunas aplicaciones 3- ¡Todo es posible en la programación, especialmente cuando estás usando DELPHI! Gracias en absoluto. – Armin

+2

Oh, lo que quise decir es que no pensé que era posible hacer un componente transparente cambiando una propiedad. En realidad, he intentado hacer un panel transparente (aunque no es mi código), esto es lo que quise decir con trucos para hacer que los componentes existentes sean transparentes. Nunca he encontrado un código que funcione en todos los componentes, pero la mayoría de ellos manipula/reemplaza/trata el procedimiento/método Paint. – Dian

+0

Constructivo a nswers no comienza con "Creo" o "No creo" – PSyLoCKe

-2

alpha es por lo general los 2 primeros dígitos en un número hex ....

hex típico es #FFFFFF un hexágono con opacityinformation es #FFFFFFFF que sería blanco a plena opacidad # 00FFFFFF sería blanco en 0 opacidad ...

también debería poder establecer el fondo en transparente. Si buscas hacer desaparecer todo el control, simplemente puedes ocultarlo ... ¿qué estás tratando de lograr?

+1

como dije, estoy tratando de establecer la propiedad de opacidad para un control! por ejemplo ... cuando buscas un panel con algunos objetos, ¡también puedes ver detrás de eso! Espero que sea claro. Gracias – Armin

+0

Por cierto, un control como TButton o TBitBtn no tiene propiedades de color. – Armin

+0

sí, lo siento, no me di cuenta de que todavía no estaba en las etiquetas de WPF cuando respondía esto. – ecathell

1

Eche un vistazo a los estilos de Windows Win32, especialmente WS_TRANSPARENT (o WS_EX_TRANSPARENT).

+0

He visto ese trabajo en Windows. Aunque no estoy seguro de si lo hace en los componentes ... tendré que investigarlo alguna vez. – Dian

0

La aplicación de transparencia en un control secundario se puede realizar muy fácilmente usando regiones pasadas de moda y la función SetWindowRgn().

La aplicación de mezcla alfa en un control secundario, por otro lado, es muy difícil de hacer antes de Windows 8. Se trata de pintar primero la ventana primaria en un mapa de bits, y luego mezclar alfa una imagen del control secundario encima de el mapa de bits, luego renderiza el mapa de bits en pantalla.

En Windows 8, el estilo WS_EX_LAYERED ventana (que es lo que de TForm TransparentColor y AlphaBlendValue propiedades utilizan internamente) finalmente se ha implementado para los controles secundarios.

Cuestiones relacionadas