2010-06-29 15 views
5

Gibt es eine Möglichkeit, eine Kontrolle transparent wie Schaltfläche, bearbeiten, Panel oder etc ...? Ich meine etwas wie Kapazität oder Alpha-Mischung, die wir in Form Eigenschaft haben.Machen Sie eine Kontrolle transparent

+1

Sie können transparente Schaltflächen oder Panels in einer Vielzahl von Open Source- oder freien Quellen erhalten. Normalerweise "machen" Sie Ihre vorhandenen Steuerelemente nicht transparent, da dies normalerweise eine Menge Arbeit bedeutet. –

Antwort

3

Einige Komponenten haben die transparente Eigenschaft. In anderen können Sie als Farbe Eigenschaft "keine" auswählen. Es unterscheidet sich von Komponente zu Komponente, aber nicht alle Komponenten können transparent gemacht werden, indem eine Eigenschaft geändert wird.

Sie sollten versuchen, Delphi transparente Komponenten googeln, gibt es herunterladbare Komponenten und Tricks können Sie tun, um vorhandene Komponenten transparent zu machen.

+1

Ich googelte es über 6 Monate und fand keine sinnvolle Lösung. Es kann passieren, weil Ich habe 3 Gründe: 1- Wenn ein Formular es haben kann, können andere Kontrollen es auch haben! 2- Ich habe gesehen, dass in einigen Anwendungen 3 alles in der Programmierung möglich ist, besonders wenn Sie DELPHI verwenden! Danke überhaupt. – Armin

+2

Oh, was ich sagen wollte war, dass ich es nicht für möglich hielt, eine Komponente transparent zu machen, indem ich eine Eigenschaft ändere Ich habe tatsächlich versucht, ein Panel transparent zu machen (nicht meinen Code), das meine ich mit Tricks um vorhandene Komponenten transparent zu machen Ich habe noch nie einen Code gefunden, der für jede Komponente funktioniert, aber die meisten von ihnen manipulieren/überschreiben/beschäftigen sich mit dem Paint-Verfahren/der Methode – Dian

+0

Konstruktiv a Nswers beginnt nicht mit "Ich denke" oder "Ich glaube nicht" – PSyLoCKe

-2

alpha in der Regel die ersten 2 Ziffern in einer Hex-Zahl ist ....

typische hex # FFFFFF ein Hex mit opacityinformation ist #FFFFFFFF, die bei voller Opazität # 00FFFFFF weiß wäre bei 0 Opazität wäre weiß ...

sollten Sie auch in der Lage sein, den Hintergrund transparent zu setzen. Wenn Sie versuchen, die gesamte Steuerung verschwinden zu lassen, können Sie sie einfach verstecken ... was wollen Sie erreichen?

+1

Wie ich schon sagte Ich versuche, Deckkraft-Eigenschaft für ein Steuerelement zu setzen! zum Beispiel .... wenn Sie auf ein Panel mit einigen Objekten schauen, können Sie dahinter auch sehen! Hoffe es ist klar. Danke – Armin

+0

Übrigens hat ein Steuerelement wie TButton oder TBitBtn keine Farbeigenschaft. – Armin

+0

ja Entschuldigung, ich habe nicht realisiert, dass ich noch nicht in den WPF-Tags war, als ich das beantwortete. – ecathell

1

Sehen Sie sich die Win32-Fensterstile an, insbesondere WS_TRANSPARENT (oder WS_EX_TRANSPARENT).

+0

Ich habe gesehen, dass die Arbeit unter Windows. Ich bin mir nicht sicher, ob es auf Komponenten tut ... muss es irgendwann recherchieren. – Dian

0

Die Anwendung von Transparenz auf ein Kind Kontrolle kann sehr einfach mit altmodischen Regionen und der SetWindowRgn() Funktion durchgeführt werden. Das Anwenden von Alpha-Blending auf ein untergeordnetes Steuerelement ist auf der anderen Seite vor Windows 8 sehr schwierig. Es besteht darin, zuerst das übergeordnete Fenster auf ein Bitmap zu mixen und dann ein Bild des untergeordneten Steuerelements zu überblenden die Bitmap, dann Rendern der Bitmap auf dem Bildschirm.

In Windows 8 wurde der Fensterstil WS_EX_LAYERED (der von Tforms TransparentColor und AlphaBlendValue Eigenschaften intern verwendet wird) schließlich für untergeordnete Steuerelemente implementiert.

Verwandte Themen