AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Nutzung von Opacity für ein TRectangle, ohne es auf die Kinderelement zu vererben
Thema durchsuchen
Ansicht
Themen-Optionen

Nutzung von Opacity für ein TRectangle, ohne es auf die Kinderelement zu vererben

Ein Thema von philipp.hofmann · begonnen am 28. Mär 2023 · letzter Beitrag vom 30. Mär 2023
Antwort Antwort
philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
890 Beiträge
 
Delphi 10.4 Sydney
 
#1

Nutzung von Opacity für ein TRectangle, ohne es auf die Kinderelement zu vererben

  Alt 28. Mär 2023, 14:22
Hi,

ich habe ein TRectangle und darin mehrere Steuerungsbuttons (Siehe Anhang). Jetzt möchte ich diesen TRectangle-Rahmen durchscheinend (nicht transparent) darstellen, die Steuerungsbutton sollen aber mit voller Farbenpracht angezeigt werden. Wenn ich für den TRectangle die Opacity auf 0.5 stelle, werden auch die Steuerungsbuttons mit 0.5 und dementsprechend kaum wahrnehmbar dargestellt. Kann ich dies irgendwie verhindern?

Grüße, Philipp
Miniaturansicht angehängter Grafiken
opacity.png  
  Mit Zitat antworten Zitat
philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
890 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Nutzung von Opacity für ein TRectangle, ohne es auf die Kinderelement zu vererben

  Alt 28. Mär 2023, 14:57
Habe es gefunden, die Color des Elementes auf Durchscheinend setzen, also z.B. $70272727 statt $FF272727.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.093 Beiträge
 
Delphi 12 Athens
 
#3

AW: Nutzung von Opacity für ein TRectangle, ohne es auf die Kinderelement zu vererben

  Alt 29. Mär 2023, 15:49
Ich bin nicht sicher, ob ich genau verstehe, was Du meinst.
Bei mir lege ich manchmal ein Rechteck als Overlay über den Bereich, welcher "ausgegraut" werden soll.
Die Buttons können dann unabhängig davon auf einem anderen, transparenten Layout liegen.
Das Overlay (oder Underlay) kann dann je nachdem mit schwarz oder weiß gefüllt, dann mit Opacity 0.5 - 0.7, das kann den Untergrund darunter schön ausgegraut darstellen,
ohne dass der Button-Layout beeinflusst wird.
Mit den Margins kann man den Graubereich des Overlays ganz gut positionieren.
  Mit Zitat antworten Zitat
philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
890 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Nutzung von Opacity für ein TRectangle, ohne es auf die Kinderelement zu vererben

  Alt 29. Mär 2023, 21:38
Meinst du mit Layout ein TLayout und da hast du mehrere übereinander liegen?
Da habe ich nur eines und da liegt bei mir alles drauf, jeweils in TRectangles und diesen TRectangles gebe ich eine Opacity.
Aber bisher liegen meine Buttons auch in den TRectangles drinnen. Vielleicht ist dies auch der Fehler und sie müssen neben den TRectangles liegen.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.093 Beiträge
 
Delphi 12 Athens
 
#5

AW: Nutzung von Opacity für ein TRectangle, ohne es auf die Kinderelement zu vererben

  Alt 30. Mär 2023, 07:21
Ja genau.
Man kann Layouts sehr gut verschachteln in der Art von Layern, und mit TAlignLayout.Content übereinanderlegen und mit HitTest steuern, welches Layout aktiv sein soll.
Wenn das bei Dir auch so läuft, ist es natürlich besser, ich nutze es aber oft tiefer verschachtelt.
Das ist jetzt kein Fehler, es wird aber schnell unübersichtlich, wenn es komplexer wird.
Z.B. zum Eingrauen oder für PopUp-Anzeigen, sodass ich diese Sub-Layouts sehr gut gruppieren und separieren kann, statt alle Elemente auf einer Ebenen nebeneinander zu haben.
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:18 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