Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Button mit Transparenz - Parent Hintergrund ermitteln? (https://www.delphipraxis.net/111033-button-mit-transparenz-parent-hintergrund-ermitteln.html)

Ares 28. Mär 2008 11:46


Button mit Transparenz - Parent Hintergrund ermitteln?
 
Hallo!

Ich arbeite gerade an einer eigenen Button-Komponente. Das Aussehen des Buttons soll man dabei durch PNG-Bilder bestimmen können. Das hat den Vorteil, dass das Design sehr flexible ist und man auch Transparenz verwenden kann.

Ich habe hierfür eine neue Klasse von TCustomControl abgeleitet und male in der Paint-Funkion einfach das entsprechende PNG-Bild (Normal, Over, Down, Disabled) in die Canvas. Das klappt prima.

Beim Verschieben des Forms flackert der Button aber etwas. Ich möchte in Paint() das Ganze daher erst ein Bitmap Objekt malen (Erst das PNG-Bild, dann das Glyp, dann den Text) und erst wenn alles fertig ist das Ganze in die Canvas ausgeben. Das klappt auch, nur ist das Ganze dann nicht mehr Transparent, sonder hat einen weißen Hintergrund.

Ich denke das liegt daran, dass die Bitmap-Canvas weiß ist und ich somit auf einen weißen Hintergrund male... Um die Transparenz zu erhalten, müsste das Bitmap-Objekt also den gleichen Hintergrund haben, wie das Objekt, das den Button enthält. Aber wie bekomme ich diesen in Bitmap-Hintergrund? Es reicht nicht einfach die Hintergrundfarbe zu ermitteln, der Button könnte ja auch über einem Image liegen.

Hat also jemand eine Idee, wie ich die Transparenz hier hinbekomme?

Besten Dank
Ares


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz