Transparentes Canvas erstellen

Alex_1303

Grünschnabel
Hi,

ich arbeite gerade an einem kleinen Programm bei welchem die gui mit swt erstellt werden soll. Ich habe eine Composite bei welcher ein Hintergrundbild gesetzt wurde.

Auf dieser Composite plaziere ich mittels dem FormLayout ein Canvas in welchem ein
.png Bild gezeichnet wird.

Das Problem ist nun, dass das Canvas keinen Transparenten Hintergrund hat. Somit hat das Bild welches ich in das Canvas gezeichnet habe immer einen (standardmäßig) grauen Rahmen.

Ich kann dem Canvas bei der Erstellung die Einstellung SWT.NO_BACKGROUND mitgeben was aber leider zur Folge hat, dass dann im Canvas als Hintergrund mein Desktop angezeigt wird.

Wie schaffe ich es, dass das Canvas einen transparenten Hintergrund hat so dass man das dahinerliegende Composite(bzw. den Hintergrund des Composites) sehen kann?

Kennt jemand von euch dieses Problem? Oder kann mir jemand einen Rat geben woran das liegen könnte?

Gruß

Alex
 
Hi zeja,

du bist gerade zu meinem persönlichen Held aufgestiegen :-)

Vielen, vielen Dank

@AlleAnderenDieDasGleicheProblemHaben:
Der Composite muss nur gesagt werden:
.setBackgroundMode(SWT.INHERIT_FORCE)

Damit wird der Hintergrund der Composite auch bei allen Children der Composite gesetzt.

Gruß

Alex
 
Zurück