Entwickler-Ecke
Windows API - SplashScreen einblenden?
FD-83 - So 16.03.03 19:33
Titel: SplashScreen einblenden?
Bei 3D Mark und einigen anderen Programmen wird der Spashscreen langsam eingeblendet, was sehr cool aussieht wie ich finde...
Gleiches wird ja auch mit Tooltips und Menüs unter Windows2k/XP gemacht. Gibt es da vllt. eine API Funktion von Windows die das erledigt?
Delphi 7 Kann zwar alphablending mit Formularen, aber wenn man die AlphaBlendValue manuell hochzählt ist der effekt sehr lahm und ressourcen fressend...
Gruss Frederik
AndyB - So 16.03.03 19:47
Du musst ja nicht den Alpha-Wert jedes mal um 1 erhöhen. +10 reichen auch schon für ein flüssiges auftauchen des Formulars.
wulfskin - So 16.03.03 21:22
Wo kann man diesen Alpha-Wert kaufen, ähhh finden ;)?
AndyB - Mo 17.03.03 00:06
Ab Delphi 6 unter den Eigenschaften des Formulars und er nennt sich AlphaBlendValue. Das ganze funktioniert aber erst ab Windows 2000.
OregonGhost - Mo 17.03.03 17:12
Es gibt dafür die API-Funktion AlphaBlend. Diese ist seit Windows 98 enthalten. Allerdings blendet man damit Bitmaps, das heißt, am besten den Bildschirminhalt an der Stelle, an die das Fenster soll, kopieren und anschließend aufs Fenster blitten. Dann kann man den Splashscreen darauf einfach blenden. Alternativ kann man natürlich auch direkt auf den Bildschirm blenden, damit wird der Übergang unter Umständen schöner, aber das kann dann auch sehr seltsam aussehen ;c)
FD-83 - Mo 17.03.03 20:45
Die AplhaBlend Funktion muss es ja auch für komplette Fenster geben. Letzendlich wird Delphi die auch nur benutzen... Aber vllt wäre es schneller wenn ich sie direkt aufrufe und nicht nur über den Umweg des AlphaBlendValues...
Gruss Frederik
tommie-lie - Mo 17.03.03 20:51
Das funktioniert aber erst ab Win2k, weil erst da AlphaBlending ins Betriebssystem eingebaut wurde. Bei NT-Systemen vor 5 und 9x-Systemen funktioniert das nicht (auch nicht der Delphi6-AlphaBlenValue).
3DMark macht das glaub' ich mit DirectX, indem es einen Viewer direkt auf den Desktop zeichnet und darin dann das Bild erscheinen lässt, denn mit 3DMark klappt's auch schon bei Win98 (Win95 weiß ich nicht). Es muss also noch andere Möglichkeiten geben. Zur not halt manuell ein Blending machen, indem man direkt auf den Desktiop zeichnet und vorher den entsprechenden Bereich ausgelesen hat, und bei jedem Schritt mit dem eigenen Bild verrechnet, damit das Hintergrundbild noch durchscheint.
OregonGhost - Mi 19.03.03 17:05
LALALA
Die Funktion AlphaBlend (und von der spreche ich) gibt es ab Windows 98 und Windows NT 5. Es hat NICHTS mit der AlphaBlendValue zu tun, das hat was mit Layered Windows zu tun und diese gibt es in der Tat erst ab Windows NT 5! Delphi verwendet dafür NICHT AlphaBlend. Dass die Eigenschaft in Delphi AlphaBlend heißt ist Zufall (oder, mit anderen Worten, ein Designfehler von Borland).
Mit anderen Worten, wenn du die Funktion AlphaBlend verwendest, wird dein Programm trotzdem auf Windows 98 und höher sowie auf Windows 2000 und höher laufen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!