AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Transparentes TCustomControl

Ein Thema von Gausi · begonnen am 25. Sep 2023 · letzter Beitrag vom 26. Sep 2023
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#11

AW: Transparentes TCustomControl

  Alt 26. Sep 2023, 20:20
Müsste doch per TGraphicControl funktionieren.
Eher nicht:
Die eigentliche Komponente macht natürlich ein wenig mehr, und kann z.B. auch den Fokus bekommen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
880 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: Transparentes TCustomControl

  Alt 26. Sep 2023, 20:42
In den Konopka Signature VCL Controls (vormals Raize Components), die es mittlerweile über GetIt gibt, wird das über eine 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 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. (Und bei den paar Zeilen hätte ich auch keine Bedenken bzgl. Copyright oder Lizenzfragen. )

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.
The angels have the phone box.
  Mit Zitat antworten Zitat
Renate Schaaf

Registriert seit: 25. Jun 2020
Ort: Lippe
114 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: Transparentes TCustomControl

  Alt 26. Sep 2023, 20:46
Sorry, mal wieder halb blind gewesen
Renate
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:20 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