Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
Delphi 12 Athens
|
AW: Transparentes TCustomControl
26. Sep 2023, 12:08
Transparent wird es, wenn der Parent vorher seinen Hintergrund malt und du es den dann nur teilweise wieder übermalst.
DoubleBuffered malt auf ein internes Bitmap, anstatt direkt auf den Canvas.
Dieses Buffered-Bitmap wird aber ohne Tansparenz gemalt, also immer vollflächig.
Wird bei Transparent mit DoubleBuffered gearbeitet, dann malst du "transparent" in dieses Bitmap,
also ohne selbst "deinen" Hintergrund zu malen (der Parent mals sich dort leider niemals rein)
und bei der Transparenz ohne Hintergrund zeichnen, malst du dann auf den schwarzen Inhalt eines leeren Bitmaps, welche anschließend auf die Form kommt.
Benutzt du selbst ein eigenes TBitmap, oder einen anderen TGraphic-Typ, dann kannst du beim Kopieren/Malen dieses Bitmaps, auf den Canvas, dessen Transparenz-Funktion benutzen.
Bei TBitmap z.B. die TransparenceColor.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
|