![]() |
Delphi 2007: SheetOfGlass
Hallo Leute,
mit der o.g. Eigenschaft kann man ja eine Form nur in Aero-Glass anzeigen lassen. Das Problem dabei: Alle Komponenten (Panel, TLabel, Komponenten von 3. Herstellern) auf einer solchen Form "spinnen" rum: - Labels werden durchsichtig, d.h. anstelle des Labels sehe ich ein rechteckiges Stück Aeroglass - Panels werden komplett transparent, bis auf den Rand - Abgeleitete Panels verlieren ihre Farbe (werden weiß). Auch hierdrauf kann ich keine TLabels positionieren, ohne dass diese teilweise verschwinden Die Delphi-Hilfe sagt zu TGlassFrame leider nur: "Das ist GlassFrame, ein Mitglied der Klasse TCustomFormHelper." Toll. Hat jemand eine Idee, wie ich GlassFrame bzw. SheetofGlass überhaupt irgendwie sinnvoll verwenden kann?? :wall: |
Re: Delphi 2007: SheetOfGlass
Ja, die Idee habe ich:
Setze "DoubleBuffered" von allen beteiligten Komponenten (und das Form selbst gehört dazu!) auf TRUE. Der DWM kann diese Glas-Geschichten mit allen GUI-Elementen nur dann richtig darstellen, wenn das Buffering unterstützt wird. Es eignet sich auch nicht jede Komponente, um direkt auf das Glas gelegt zu werden. |
Re: Delphi 2007: SheetOfGlass
Zitat:
DoubleBuffered hat super geholfen, danke!! Beim TLabel existiert diese Eigenschaft zwar nicht, das Label wird trotzdem richtig dargestellt, es reicht hier bei der Form das "DoubleBuffered" auf TRUE zu setzen. |
Re: Delphi 2007: SheetOfGlass
Ein TLabel ist ein TGraphicControl und ein TGraphicControl zeichnet auf sein Parent, weil es gar kein eigenes Handle hat. Daher reicht es, DoubleBuffered beim Parent auf True zu setzen.
|
Re: Delphi 2007: SheetOfGlass
Danke für eure Hinweise, ich habe aber noch eine Frage:
Kann man mit Delphi den Effekt erreichen, der z.B. im Fenster "Minianwendung hinzufügen" von Vista zu sehen ist: Die Labels (?) haben alle einen leichten, weißen Hintergrund. Dies gibt dann ja einen besseren Kontrast, als wenn ich nur - wie mit Delphi - ein Label auf der Form liegen habe. Wie kann ich einen solchen Effekt mit Delphi-Bordmitteln erreichen? |
Re: Delphi 2007: SheetOfGlass
Ja, auch das geht über die API des DWM. Delphi 2007 bringt die erforderlichen API-Übersetzungen gleich mit. In meinem Delphi-Video, welches sich nun endlich in der Produktion befindet, wird das auch gezeigt.
|
Re: Delphi 2007: SheetOfGlass
Zitat:
|
Re: Delphi 2007: SheetOfGlass
Würde mich auch sehr interessieren, wie Funktionen dafüre heißen!
|
Re: Delphi 2007: SheetOfGlass
Liste der Anhänge anzeigen (Anzahl: 2)
Ich werde die Demos zum Video morgen auch mit veröffentlichen. Anbei ein schneller Copy & Paste - Hack. ;-)
Dabei geht's wirklich nur um das Prinzip - auf Ressourcen-Schutz und dgl. habe ich großzügig verzichtet. |
Re: Delphi 2007: SheetOfGlass
Vielen Dank für den Code. Funktioniert super!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:06 Uhr. |
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 by Thomas Breitkreuz