Autor Beitrag
FD-83
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 49



BeitragVerfasst: So 16.03.03 19:33 
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: 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.

_________________
Ist Zeit wirklich Geld?
wulfskin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1349
Erhaltene Danke: 1

Win XP
D5 Pers (SSL), D2005 Pro, C, C#
BeitragVerfasst: So 16.03.03 21:22 
Wo kann man diesen Alpha-Wert kaufen, ähhh finden ;)?

_________________
Manche antworten um ihren Beitragszähler zu erhöhen, andere um zu Helfen.
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: 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.

_________________
Ist Zeit wirklich Geld?
OregonGhost
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 215



BeitragVerfasst: 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)

_________________
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
FD-83 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 49



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: 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.

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
OregonGhost
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 215



BeitragVerfasst: 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.

_________________
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.