Delphi-PRAXiS
Seite 2 von 2     12   

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 Transparentes TCustomControl (https://www.delphipraxis.net/213785-transparentes-tcustomcontrol.html)

Uwe Raabe 26. Sep 2023 19:20

AW: Transparentes TCustomControl
 
Zitat:

Zitat von Renate Schaaf (Beitrag 1527413)
Müsste doch per TGraphicControl funktionieren.

Eher nicht:
Zitat:

Zitat von Gausi (Beitrag 1527346)
Die eigentliche Komponente macht natürlich ein wenig mehr, und kann z.B. auch den Fokus bekommen.


Gausi 26. Sep 2023 19:42

AW: Transparentes TCustomControl
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1527410)
In den Konopka Signature VCL Controls (vormals Raize Components), die es mittlerweile über GetIt gibt, wird das über eine
Delphi-Quellcode:
procedure DrawParentImage
realisiert.

So auf Anhieb flackert das auch, aber zumindest ist dann auch bei DoubleBuffered der Transparenz-Effekt da.

Ich habe die DrawParentImage-Funktion, die dort immer im WMEraseBkgnd ausgeführt wird, einfach mal benutzt, um ein Background-Bitmap zu cachen. Die Funktion macht ja nichts anderes, als das Parent per wm_PrintClient aufzufordern, sich auf ein anderes Handle zu zeichnen. Wenn der Hintergrund konstant bleibt, muss man das ja nicht immer wieder machen - da reicht dann ein mehr oder weniger statisches Bitmap. In der TDemoDings.Paint zeichne ich dann einfach mit
Delphi-Quellcode:
Canvas.Draw(0,0,FBitmap);
das Bitmap auf das eigene Canvas. Das funktioniert dann weitgehend flackerfrei, und mit DoubleBuffered bemerke ich gar kein Flackern mehr.

Das werde ich mal als Option beibehalten. :thumb: (Und bei den paar Zeilen hätte ich auch keine Bedenken bzgl. Copyright oder Lizenzfragen. :stupid:)

Zitat:

Zitat von Renate Schaaf (Beitrag 1527413)
Müsste doch per TGraphicControl funktionieren.

Das ist so ohne weiteres leider keine Option, da auch Eingaben per Tastatur gewollt sind - z.B. Verschieben des Reglers mit den Pfeiltasten. Und das wird im TWinControl-Zweig implementiert.

Renate Schaaf 26. Sep 2023 19:46

AW: Transparentes TCustomControl
 
Sorry, mal wieder halb blind gewesen :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:45 Uhr.
Seite 2 von 2     12   

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