Autor |
Beitrag |
Jagg
      
Beiträge: 635
|
Verfasst: Fr 29.10.04 00:06
Hallo Leute !
Ich habe so ein Programm geschrieben, das läuft auch gut..ich möchte jetzt so eine Art Begrüssungsform eintritt bevor mein Programm startet !
ich habe mir so so überlegt :
Es soll dadrin erscheinen,welche funktionen im moment das programm hat und welche features es is zukunft gibt...das anzeigen ist kein problem...ich möchte aber das es LANGSAM eingeblendet wird
das heisst es soll so aussehen, das die form so in der art von nix bis zum anzeigen der ganzen form ist, man kann das so vergleichen als ob jemand die Form einbeamt(StarTrek) und dasselbe soll die form beim verlassen sein (ausbeamen) und der text soll so sein das es langsam von unten bis oben läuft,das kann man so vergelichen,wenn man beim schluss einen kinofilms ist und der text mit den darsteller etc. eingeblendet wird....
ich hoffe ihr versteht mich was ich meine !
wie bekomme ich sowas hin ?
Jagg
|
|
blackbirdXXX

      
Beiträge: 1077
Erhaltene Danke: 1
Ubuntu Dapper
|
Verfasst: Fr 29.10.04 04:58
Guckst du:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); var i: Integer; begin for i := 51 downto 0 do begin AlphaBlendValue := i * 5; sleep(50); Application.ProcessMessages; end; end; |
Beim Enblenden machst du es umgekehrt.
Und vergiss nicht:
Delphi-Quelltext 1: 2: 3: 4:
| procedure TForm1.FormCreate(Sender: TObject); begin AlphaBlend := true; end; |
Und das mit dem Text kannst du auf einem Canvas machen, oder einfach Labels verschieben.
_________________ Klein, schwarz und ärgert Techniker? Jumper!
|
|
Jagg 
      
Beiträge: 635
|
Verfasst: Fr 29.10.04 09:44
was ist den alphablend ???
|
|
jasocul
      
Beiträge: 6393
Erhaltene Danke: 147
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Fr 29.10.04 09:48
Gibts erst ab Delphi 6. Sch* ich hab nur D5. Aber bei der RoadShow schlag ich zu.
|
|
Jagg 
      
Beiträge: 635
|
Verfasst: Fr 29.10.04 10:30
habe alphablend = boolean genommen und alphablendvalue = integer und das ergebnis meine ich nicht...die form wird ja nur ausgeblendet(an einem stück)und das langsam....was ich meine :
z.b beim Film Startrek wird eine person zu einem ort gebeamt und das passiert ja nicht an einem stück,sondern seine moleküle werden einzeln rübergebeamt und soll auch mit der form passieren
|
|
sourcehunter
      
Beiträge: 482
Win XP | Suse 10.1
Delphi 2005 Pers.
|
Verfasst: Fr 29.10.04 11:16
Wenn es einfach nur ein Schriftzug oder ein Bild ist, der sich langsam einbelendet, dann probiers doch mit nem AVI.
_________________ Linux und OpenSource rulez!
|
|
Jagg 
      
Beiträge: 635
|
Verfasst: Fr 29.10.04 13:41
|
|
Jagg 
      
Beiträge: 635
|
Verfasst: Fr 29.10.04 13:45
ich glaube ihr versteht mich nicht
ich meine eine Form Pixel für Pixel einblenden/ausblenden lassen...bis die ganze Form zusehen ist....
|
|
Jagg 
      
Beiträge: 635
|
Verfasst: Fr 29.10.04 16:42
ich habe nur delphi 5 professional
geht da auch damit alphablend und alphavalue ????
|
|
Jagg 
      
Beiträge: 635
|
Verfasst: Fr 29.10.04 16:43
ich glaube das was ich miene ist Transparenz die form einblenden und ausblenden lassen
|
|
GSE
      
Beiträge: 740
Win 2k, Win XP Pro
D5 Prof, D6 Ent, D2k5 PE
|
Verfasst: Fr 29.10.04 16:56
Zitat: | ich glaube das was ich miene ist Transparenz die form einblenden und ausblenden lassen |
und das macht der code den blackbirdXXX dir gegeben hat
mfg
GSE
_________________ Programming today is a race between software engineers striving to build bigger and better idiot-proof programs
and the universe trying to produce bigger and better idiots. So far, the universe is winning. (Richard Cook)
|
|
Basti
      
Beiträge: 345
Windows Vista
D2005 Pers, D7 Pers
|
Verfasst: Fr 29.10.04 17:08
Anstatt der Version von BlackbirdXXX würde ich aber einen Timer nehmen,
denn obwohl er Application.ProcessMessages; verwendet, gibt'S da manchmal Probleme.
Ich hatte das selber mal: Wenn man die Maus nicht bewegt bearbeitet der gar keine Messages...
Beim Timer ist das kein Problem...
|
|
wh89
Hält's aus hier
Beiträge: 14
|
Verfasst: Fr 29.10.04 18:27
Kann man nicht auch alle Pixel tranparent machen und dann nacheinander(for x:=0 ... for y:=0)
alle Pixel setzen(mit nem Timer oder so)
Ich glaub das entspricht eher seinen Vorstellungen. *hab Entenscheiß gesehn*
tschöö
wh89
|
|
Basti
      
Beiträge: 345
Windows Vista
D2005 Pers, D7 Pers
|
Verfasst: Fr 29.10.04 18:34
Äh - ich bin mir nicht sicher.
Du könntest den Splash-Screen als Image machen, dass so groß ist wie das Form.
Dann lädst du das das Image rein und merkst dir die einzelnen Pixelfarben.
Danach löscht du das Bild, wodurch du den Hintergrund siehst.
Anschließend kannst du dann zeilenweise das Bild wieder zusammensetzen und dann siehst
du wie das Pixel immer zeilenweise von links nach rechts eine neue Zeile des Bildes wird.
Allerdings würde ich da keinen Timer für verwenden,
das dauert schon so lange genug, wenn das Bild größer ist...
Was lernen wir aus meiner Antwort: Es ist eine schlechte Lösung.
|
|
Jagg 
      
Beiträge: 635
|
Verfasst: Fr 29.10.04 20:04
hmmmm wie bekomme ich das hin ?
ich weiss nicht mehr weiter...
|
|
Jagg 
      
Beiträge: 635
|
Verfasst: Fr 29.10.04 20:07
zu GSE :
ich habe delphi 5 und alphablend ist erst ab delphi 6 da oder nicht ?
oder kann man alphablend die komponente runterlöaden oder geht das auch anders ?
|
|
GSE
      
Beiträge: 740
Win 2k, Win XP Pro
D5 Prof, D6 Ent, D2k5 PE
|
Verfasst: Fr 29.10.04 20:38
Zitat: | oder kann man alphablend die komponente runterlöaden oder geht das auch anders ? |
es geht auch anders, denn TForm kapselt auch nur die API-Aufrufe fürs AplhaBlending, siehe hier
mfg
GSE
_________________ Programming today is a race between software engineers striving to build bigger and better idiot-proof programs
and the universe trying to produce bigger and better idiots. So far, the universe is winning. (Richard Cook)
|
|
sourcehunter
      
Beiträge: 482
Win XP | Suse 10.1
Delphi 2005 Pers.
|
Verfasst: Sa 30.10.04 16:40
Ein avi ist ein Video. Aber das hat sich erledigt.
Pobiers mal mit transparentcolor und transparentcolorvalue. Du musst einfach alle Pixel die nicht sichtbar sein sollen mit transparentcolorvalue malen.
_________________ Linux und OpenSource rulez!
|
|