![]() |
Re: .rc-Datei lässt sich nicht aus Projekt entfernen?!?
Jo das klappt ja nun, allerdings ist die PNG-Datei nur IN der Form transparent.
Wenn ich nun die Form wie folgt ausblende:
Delphi-Quellcode:
Dann ist die Form zwar weg, allerdings liegt der Schatten des Splash wieder auf Weiss. :( Und die GR32 Lösung kapier ich nicht. :(
Splash.Brush.Style:=bsClear;
Splash.BorderStyle:=bsNone; |
Re: .rc-Datei lässt sich nicht aus Projekt entfernen?!?
... da das PiNG die Transparenz erreicht, in dem es den Hintergrund des Images nimmt und anhand der Transparenzen das Bild reinrechnet und darstellt. Somit wird auf einem DC der Hintergrund der Form gemalt - und da passiert dann durch dein Brush.Style rein gar nichts, somit bleibt es bei dem weißen default Inhalt der MemDC. Mit einem Image bekommst du das so definitv nicht hin.
|
Re: .rc-Datei lässt sich nicht aus Projekt entfernen?!?
Zitat:
|
Re: .rc-Datei lässt sich nicht aus Projekt entfernen?!?
Gegenfrage: Muss es halbtransparenzen sein? Reichen nicht auch nur voll-transparenz-Bereiche?
|
Re: .rc-Datei lässt sich nicht aus Projekt entfernen?!?
Zitat:
![]() Und der Splash soll natürlich vernünftig transparent auf dem Desktop-Hintergrundbild liegen. |
Re: .rc-Datei lässt sich nicht aus Projekt entfernen?!?
Dann musst du viel Aufwand treiben. Hättest du dies nun verneint, dann hätte man relativ einfach mit Regions arbeiten können. So aber musst du dir einen Screenshot vom Desktop holen und darauf die PiNG Grafik malen lassen. Dann passt das mit der Halbtransparenz. Problem dabei: Fenster im Hintergrund welche nach dem Erstellen des Screenshots verschwinden, sich verschieben oder verändern, werden nicht aktualisiert in diesem Bereich. Auch wird das Verschieben des Splash Screens sehr aufwändig und Rechenintensiv.
Das wäre der grundlegende Weg. |
Re: .rc-Datei lässt sich nicht aus Projekt entfernen?!?
Danke erstmal für eure Geduld! :D
Ich bin nun fast am Ziel. Habe nun doch Graphics32 installiert und so funktioniert es OPTISCH nun einwandfrei:
Delphi-Quellcode:
Jetzt bleibt lediglich das Problem: Wie lade ich 'grafiken/pn_logo.png' mit dem LoadPNGIntroBitmap32 aus meiner Resource-Datei? Nun braucht er die Datei ja wieder von extern. :/
Bit := TBitmap32.Create;
LoadPNGintoBitmap32(Bit, ExtractFilePath(ParamStr(0)) + 'grafiken/pn_logo.png', Alpha); setWindowLong(Handle, GWL_EXSTYLE, getWindowLong(Handle, GWL_EXSTYLE) or WS_EX_LAYERED); BlendF.BlendOp := AC_SRC_OVER; BlendF.BlendFlags := 0; BlendF.SourceConstantAlpha := 255; BlendF.AlphaFormat := AC_SRC_ALPHA; P2 := Point(0, 0); Size.cx := Bit.Width; Size.cy := Bit.Height; UpdateLayeredWindow(Handle, 0, nil, @Size, Bit.Handle, @P2, 0, @BlendF, ULW_ALPHA); |
Re: .rc-Datei lässt sich nicht aus Projekt entfernen?!?
Niemand ne Idee?
|
Re: .rc-Datei lässt sich nicht aus Projekt entfernen?!?
LoadPNGIntoBitmap32 erwartet doch eigentlich einen Stream, die überladenen Version mit dem Filenamen erzeugt ja auch nur einen temporären Filestream. Also Resource-Stream erzeugen und den übergeben.
Gruß, teebee |
Re: .rc-Datei lässt sich nicht aus Projekt entfernen?!?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:33 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-2025 by Thomas Breitkreuz