Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

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 Transparenz wie bei Vista (https://www.delphipraxis.net/75270-transparenz-wie-bei-vista.html)

LH_Freak 16. Aug 2006 23:13


Transparenz wie bei Vista
 
Hi, ich arbeite gerade wieder daran die Skinengine von Muh zu verbessern, und wollte, weil die Transparenz wie bei Windows Vista ja gerade modern ist, das ganze einbauen...mein erster Versuch war, ein halbtransparentes PNG zu benutzen, auf die Form zu legen, und die Hintergrundfarbe des Formulars auf transparent stellen. Aber bei den Schatten gab es dann Probleme (irgendwie logisch ^^). Deswegen hab ich es so probiert einen Screenshot des Hintergrunds zu machen, und den Teil der hinter meinem Forumular ausgeschnitten und auf das Formular gezeichnet (im Programm natürlich ^^). Dadurch sieht alles aus wie in Vista, alles gut (ist wahrscheinlich auch lang nicht sooooo cpu-lastig wie bei Vista :-P) Ich habe dabei trotzdem ein paar Probleme:
:arrow: Wenn ich das Formular an der Titelleiste mittels Perform verschieben will, bleibt logischerweise der hintergrund erstmal erhalten, bis ich ihn dass nächste mal zeichne. deswegen müsste ich irgendwie schon während des verschiebens den Hintergrund aktualisieren.
:arrow: Bis jetzt hab ich mir noch einen Miranda IM Skin als Bild dafür geklaut...allerdings wäre es besser wenn ich ein Bild ohne die oben in der Titelleiste groß "Miranda IM" stehen zu haben ^^. Allerdings weiß ich nicht wo ich das herbekommen soll. Per Screenshot ausschneiden geht nicht...vll. könnte man bei einem komplett schwarzen hintergrund auf die Farbe zurückrechnen, ich weiß nicht =(

Naja, hoffe mir kann jemand helfen...wenn ich die Skinkomponente fertig habe, kann ich sie ja hier veröffentlichen =)

MfG
LH_Freak

Khabarakh 16. Aug 2006 23:29

Re: Transparenz wie bei Vista
 
Zitat:

Zitat von LH_Freak
Dadurch sieht alles aus wie in Vista, alles gut (ist wahrscheinlich auch lang nicht sooooo cpu-lastig wie bei Vista :-P)

LOL. Du weißt schon, dass Vista (endlich mal) DirectX benutzt? Und selbst unter 2000-XP gibt es eine eingebaute Lösung für dein Problem (womit deine erste Frage schon beantwortet wäre): http://www.delphipraxis.net/internal...ct.php?t=67522 Dürfte an Vista nicht rankommen, aber wahrscheinlich trotzdem noch um Einiges schneller als deine Selfmade-Lösung ;) .
Zitat:

:arrow: Bis jetzt hab ich mir noch einen Miranda IM Skin als Bild dafür geklaut...allerdings wäre es besser wenn ich ein Bild ohne die oben in der Titelleiste groß "Miranda IM" stehen zu haben ^^. Allerdings weiß ich nicht wo ich das herbekommen soll. Per Screenshot ausschneiden geht nicht...vll. könnte man bei einem komplett schwarzen hintergrund auf die Farbe zurückrechnen, ich weiß nicht =(
Wie wärs damit, selbst künstlerisch tätig zu werden und nicht nur Anderer Sachen zu klauen ;) ? Dein Ansatz ist jedenfalls richtig, allerdings brauchst du mindestens zwei Bilder mit verschiedenen Hintergrundfarben.

LH_Freak 16. Aug 2006 23:36

Re: Transparenz wie bei Vista
 
Zitat:

Zitat von Khabarakh
LOL. Du weißt schon, dass Vista (endlich mal) DirectX benutzt? Und selbst unter 2000-XP gibt es eine eingebaute Lösung für dein Problem (womit deine erste Frage schon beantwortet wäre): http://www.delphipraxis.net/internal...ct.php?t=67522 Dürfte an Vista nicht rankommen, aber wahrscheinlich trotzdem noch um Einiges schneller als deine Selfmade-Lösung ;)

Ich finde es trotzdem ein bisschen komisch wenn ein betriebssystem auf dem Desktop ohne laufende Programme (außer die Windows-Standard Programme) 100% CPU-auslastung hat. Außerdem kann man mit verschiedenen Programmen (WindowBlinds z.B.) den Glass Effekt ja schon bei Windows XP erzielen (bei anderen hab ichs nicht probiert).

Zitat:

:Wie wärs damit, selbst künstlerisch tätig zu werden und nicht nur Anderer Sachen zu klauen ;) ? Dein Ansatz ist jedenfalls richtig, allerdings brauchst du mindestens zwei Bilder mit verschiedenen Hintergrundfarben.
Ja klar...wie gesagt, ich arbeite an einer Skinengine, und da soll dieser Alphasupport drinne sein. Da mir der Glass Theme so gefällt, wollte ich mir halt einen Skin dafür basteln ^^. Dass dieser nie in M.U.H als Hauptskin übernommen wird versteht sich ja wohl von selbst, oder? ;)
Aber wenn ich das zurückrechne bleibt mir ja nur die Farbe mit 100% Alpha...die Alphawerte fehlen ja dann komplett :?

LH_Freak 22. Aug 2006 17:14

Re: Transparenz wie bei Vista
 
hey, ich nochmal ^^
Das mit den LayeredWindow is aber auch ein bisschen unvorteilhaft, da man ja dann keine VCL Komponenten mehr verwenden kann :S
Das ist dann auch ein bisschen unvorteilhaft ...
Gibts noch eine andere Möglichkeit?

JasonDX 22. Aug 2006 17:32

Re: Transparenz wie bei Vista
 
Zitat:

Zitat von LH_Freak
Gibts noch eine andere Möglichkeit?

Also den kompletten Aero-Look wirst du mit der GDI nicht leicht hinkriegen. Zumindest nicht, wenns halbwegs performant gehn soll. Die Transparenz ist dabei nicht das grosse Problem, Schwierigkeiten bringt das Blurring (u.a. der Grund, warum PS2.0 Voraussetzung fuer Aero ist ;) ).
Und was die Transparenz alleine betrifft, denke ich duerfte das mit den LayeredWindows schon klappen, zumindest das den FormBorder betrifft. Allenfalls muss man diesen entsprechend selbst zeichnen, allerdings ohne vorher einen Screenshot von den verdeckten Fenstern zu machen :zwinker:

greetz
Mike

Khabarakh 22. Aug 2006 17:37

Re: Transparenz wie bei Vista
 
Zitat:

Zitat von LH_Freak
Zitat:

Zitat von Khabarakh
LOL. Du weißt schon, dass Vista (endlich mal) DirectX benutzt? Und selbst unter 2000-XP gibt es eine eingebaute Lösung für dein Problem (womit deine erste Frage schon beantwortet wäre): http://www.delphipraxis.net/internal...ct.php?t=67522 Dürfte an Vista nicht rankommen, aber wahrscheinlich trotzdem noch um Einiges schneller als deine Selfmade-Lösung ;)

Ich finde es trotzdem ein bisschen komisch wenn ein betriebssystem auf dem Desktop ohne laufende Programme (außer die Windows-Standard Programme) 100% CPU-auslastung hat.

Und daraus schließt du, dass dein GDI-Selbstbau auf jeden Fall schneller als eine hardwaregestützte Methode der größten Softwareschmiede der Welt wird? :stupid:
Zitat:

Zitat von LH_Freak
Das mit den LayeredWindow is aber auch ein bisschen unvorteilhaft, da man ja dann keine VCL Komponenten mehr verwenden kann :S

Es muss ja noch einen Grund für Vista geben :zwinker: .

LH_Freak 22. Aug 2006 18:00

Re: Transparenz wie bei Vista
 
nein, natürlich nicht. aber ich hoffe trotzdem dass Aero bei der Verkaufsversion von Vista nicht mehr soviel Speicher frisst (kann natürlich sein dass Microsoft es sich einfach macht und meinen, dass bis dahin sowieso jeder einen besseren PC hat...)
Aber irgendwie muss es ja gehen...Bei Miranda geht es ja auch... :?

Khabarakh 22. Aug 2006 18:07

Re: Transparenz wie bei Vista
 
Beim Standard-Miranda? Das ist doch ein vollkomemn anderer Effekt, bei dem einfach das gesamte Fenster mit einem konstanten Wert gelbendet wird.

LH_Freak 22. Aug 2006 18:15

Re: Transparenz wie bei Vista
 
Hier

Geht. Den Skin hab ich auch. Verbraucht auch nicht viel Speicher ;)

LH_Freak 23. Aug 2006 23:13

Re: Transparenz wie bei Vista
 
*push*


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:40 Uhr.
Seite 1 von 4  1 23     Letzte »    

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