Delphi-PRAXiS
Seite 1 von 2  1 2      

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 Semitransparenter Fensterhintergrund mit Gradient (https://www.delphipraxis.net/196295-semitransparenter-fensterhintergrund-mit-gradient.html)

Codehunter 8. Mai 2018 08:30

Semitransparenter Fensterhintergrund mit Gradient
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ahoi,

im Bild unten sieht man einen Splashscreen bzw. in dem Fall ein Installerfenster. Im oberen Teil erkennt man einen semitransparenten Gradient von geschätzt 60% Opacity (oben) auf 100% Opacity. Wie kann man sowas mit der VCL nachbauen? Früher hat man sowas ja getrickst mit Screenshots und interner Bitmap-Berechnung. In dem Fall ist das Fenster aber "echt" halbdurchsichtig, was man aber erst bemerkt wenn man das Fenster der Maus verschiebt und der Hintergrund ruckelfrei gemalt wird. Mit Glassframe allein kommt man da nicht weiter, weil es sich um einen Transparenzverlauf handelt und nicht eine einheitlich halbtransparente Fläche.

Grüße
Cody

Uwe Raabe 8. Mai 2018 08:44

AW: Semitransparenter Fensterhintergrund mit Gradient
 
Zitat:

Zitat von Codehunter (Beitrag 1401653)
im Bild unten sieht man einen Splashscreen bzw. in dem Fall ein Installerfenster. Im oberen Teil erkennt man einen semitransparenten Gradient von geschätzt 60% Opacity (oben) auf 100% Opacity. Wie kann man sowas mit der VCL nachbauen?

Im Form das Property AlphaBlend auf True und für AlphaBlendValue einen geeigneten Wert einsetzen.

Aviator 8. Mai 2018 08:47

AW: Semitransparenter Fensterhintergrund mit Gradient
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1401655)
Zitat:

Zitat von Codehunter (Beitrag 1401653)
im Bild unten sieht man einen Splashscreen bzw. in dem Fall ein Installerfenster. Im oberen Teil erkennt man einen semitransparenten Gradient von geschätzt 60% Opacity (oben) auf 100% Opacity. Wie kann man sowas mit der VCL nachbauen?

Im Form das Property AlphaBlend auf True und für AlphaBlendValue einen geeigneten Wert einsetzen.

Wird dann aber nicht die gesamte Form transparent? Im Beispiel ist ja nur der Rand teilweise transparent. Ich denke mal darum ging es CodeHunter.

Uwe Raabe 8. Mai 2018 08:59

AW: Semitransparenter Fensterhintergrund mit Gradient
 
Zitat:

Zitat von Aviator (Beitrag 1401657)
Wird dann aber nicht die gesamte Form transparent? Im Beispiel ist ja nur der Rand teilweise transparent.

Das ist richtig. Dann hatte ich das falsch verstanden.

Codehunter 8. Mai 2018 09:00

AW: Semitransparenter Fensterhintergrund mit Gradient
 
Liste der Anhänge anzeigen (Anzahl: 1)
Genau!
Zitat:

Zitat von Codehunter (Beitrag 1401653)
Mit Glassframe allein kommt man da nicht weiter, weil es sich um einen Transparenzverlauf handelt und nicht eine einheitlich halbtransparente Fläche.

EDIT: Vielleicht wird es mit diesem Bild etwas deutlicher was ich meine.

TiGü 8. Mai 2018 09:16

AW: Semitransparenter Fensterhintergrund mit Gradient
 
Hier würde sich die Verwendung von VCL-Styles anbieten.

DeddyH 8. Mai 2018 12:03

AW: Semitransparenter Fensterhintergrund mit Gradient
 
Oder wenn man Zeit und Interesse hat: Transparent graphics with pure GDI. Am Ende des 2 Teils gibt es eine herunterladbare Klasse. Ich selbst habe sie nicht ausprobiert, aber die Screenshots der Demo sind IMHO recht ansprechend.

himitsu 8. Mai 2018 13:47

AW: Semitransparenter Fensterhintergrund mit Gradient
 
Nee, das ist nicht Delphi-Referenz durchsuchenTForm.AlphaBlend (ganze Form), sondern Delphi-Referenz durchsuchenTForm.GlassFrame (nur der Rahmen).

Uwe Raabe 8. Mai 2018 14:43

AW: Semitransparenter Fensterhintergrund mit Gradient
 
Zitat:

Zitat von himitsu (Beitrag 1401684)
Nee, das ist nicht Delphi-Referenz durchsuchenTForm.AlphaBlend (ganze Form), sondern Delphi-Referenz durchsuchenTForm.GlassFrame (nur der Rahmen).

Hast du das ausprobiert? Auch unter Windows 10?

Alallart 8. Mai 2018 14:56

AW: Semitransparenter Fensterhintergrund mit Gradient
 
Ist das wirklich der normale Rahmen des Systems? Für mich sieht das nach einer Sonderform aus. Die Sonderform sieht zwar dezent aus, aber für mich sieht das nach einem selbst gezeichneten Rahmen aus.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:21 Uhr.
Seite 1 von 2  1 2      

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