Delphi-PRAXiS

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 Wieder mal schwarzer Hintergrund in TToolbar... (https://www.delphipraxis.net/156434-wieder-mal-schwarzer-hintergrund-ttoolbar.html)

Whookie 1. Dez 2010 21:53

Wieder mal schwarzer Hintergrund in TToolbar...
 
Liste der Anhänge anzeigen (Anzahl: 1)
Habe hier schon einiges gefunden, aber leider nichts was auf mein Problem zutrifft. Ich habe eine Applikation mit D2007 die TToolBar verwendet (aber KEIN DoubleBuffered). Ich hab ein XP-Manifest eingebaut und eigentlich läuft das auch alles (sowohl XP als auch Win7) solange ich kein TPanel in der TToolBar verwende.

Das TPanel benötige ich aber an manchen Stellen und es ist auf ParentBackground gestellt, damit es den Gradienten von der darunter liegenden Toolbar übernimmt. Das funktioniert in XP wunderbar aber in Windows 7 scheint da der Hintergrund (oder meistens schwarze Farbe) durch. Nicht über den ganzen Bereich - wie man an der Grafik sieht).

Die Frage lautet nun natürlich wie das unter XP und Seven ordentlich hinzukriegen ist?

TIA

Bummi 1. Dez 2010 22:17

AW: Wieder mal schwarzer Hintergrund in TToolbar...
 
JvPanels kann man auf "transparent" schalten, allerdings flackern die dann ziemlich rum.
Wahrscheilich ist es sinnvoller auf das Panel ein Image oder ein GrapicControl zu legen welches des Verlauf zeichnet.

Whookie 1. Dez 2010 23:48

AW: Wieder mal schwarzer Hintergrund in TToolbar...
 
Naja so eine Lösung hab ich schon ... einfach ein eigenes Panel ableiten, Canvas und OnPaint freigeben und schon kann man den Gradient selber zeichnen ... aber das ist natürlich nur Bastelei .. schließlich stimmt der Gradient dann nicht mehr, sobald das Panel nicht den Ganzen Platz einnimmt ....

himitsu 2. Dez 2010 09:40

AW: Wieder mal schwarzer Hintergrund in TToolbar...
 
Du mußt beim Zeichnen des Gradienden in deinem Panel natürlich die Position zum Parent (TToolbar) beachten und den Gradienden entsprechend positionieren/verschieben.

Man könnte auch einfach mal versuchen die Neuzeichnen-Messages vom Panel an die Toolbar weiterzuleiten.
(dabei natürlich nicht vergessen die ClipRects umzurechnen, welche bei einigen Messages dabei sind, also mit dem Offset des Panels zur Toolbar versehn)


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:58 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