2010-06-29 4 views
5

Esiste un modo per rendere un controllo trasparente come pulsante, modifica, pannello o ecc ...? Intendo qualcosa come capacità o miscela alfa che abbiamo nella proprietà della forma.Trasforma un controllo trasparente

+1

È possibile ottenere pulsanti o pannelli trasparenti in una varietà di open source o gratuiti. In genere non si "rendono" trasparenti i controlli esistenti, poiché di solito è molto lavoro. –

risposta

3

Alcuni componenti hanno la proprietà trasparente. In altri è possibile selezionare "none" come proprietà a colori. Differisce da componente a componente, ma non tutti i componenti possono essere resi trasparenti cambiando una proprietà.

Si dovrebbe provare a googling componenti trasparenti Delphi, ci sono componenti scaricabili e trucchi che puoi fare per rendere trasparenti i componenti esistenti.

+1

L'ho cercato su Google per 6 mesi e non ho trovato alcuna soluzione utile. Ho 3 motivi: 1- Quando un modulo può averlo, anche altri controlli possono averlo! 2- L'ho visto in alcune applicazioni 3 - Tutto è possibile nella programmazione, specialmente quando si usa DELPHI! Grazie a tutti. – Armin

+2

Oh, quello che intendevo dire era che non pensavo fosse possibile rendere trasparente un componente modificando una proprietà Ho effettivamente provato a rendere trasparente un pannello (non il mio codice), questo è quello che intendevo per trucchi per rendere trasparenti i componenti esistenti Non ho mai trovato un codice che funzioni su ogni componente, ma la maggior parte di essi manipola/sovrascrive/tratta la procedura/metodo Paint. – Dian

+0

Costruttivo a nswers non inizia con "I think" o "I do not think" – PSyLoCKe

-2

alfa, sono le prime 2 cifre in un numero esadecimale ....

tipico esadecimale è #FFFFFF un esagono con opacityinformation è #FFFFFFFF che sarebbe bianco a piena opacità # 00FFFFFF sarebbe bianco a 0 opacità ...

si dovrebbe anche essere in grado di impostare lo sfondo trasparente. Se stai cercando di far scomparire l'intero controllo, puoi semplicemente nasconderlo ... cosa stai cercando di ottenere?

+1

come ho detto sto cercando di impostare la proprietà di opacità per un controllo! per esempio .... quando stai guardando un pannello con alcuni oggetti, puoi vedere anche quello dietro! Spero sia chiaro. Grazie – Armin

+0

Tra l'altro un controllo come TButton o TBitBtn non ha proprietà di colore. – Armin

+0

scusate, non mi ero reso conto che non avevo ancora i tag WPF mentre stavo rispondendo a questo. – ecathell

1

Dai un'occhiata agli stili di Windows Win32, in particolare WS_TRANSPARENT (o WS_EX_TRANSPARENT).

+0

Ho visto che funziona su Windows, non sono sicuro se lo farà sui componenti ... dovrò cercarlo qualche volta .. – Dian

0

L'applicazione della trasparenza su un controllo figlio può essere eseguita molto facilmente utilizzando le regioni vecchio stile e la funzione SetWindowRgn().

L'applicazione di blending alfa su un controllo figlio, d'altra parte, è molto difficile da eseguire prima di Windows 8. Coinvolge prima la pittura della finestra padre in una bitmap, quindi l'alpha che unisce un'immagine del controllo figlio in cima a la bitmap, quindi il rendering della bitmap sullo schermo.

In Windows 8, lo stile di finestra WS_EX_LAYERED (che è quello utilizzato da Tform TransparentColor e AlphaBlendValue proprietà internamente) è stato finalmente implementato per i controlli figlio.