Entwickler-Ecke

Multimedia / Grafik - Hilfe beim einfaden


No0B - Sa 08.05.10 13:10
Titel: Hilfe beim einfaden
Servus zusammen, der Unwissende bräuchte mal wieder Hilfe. Will meine Form 4 einfaden lassen.
Timer 3 ist False

Hier mal der Code :


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
 Timer3.Enabled := True;
end;

procedure TForm1.Timer3Timer(Sender: TObject);
begin
 if Form1.AlphaBlendValue >=255 then
  Timer3.Enabled := false

(Hier liegt mein Prob wie füge ich Form4.show ein ?)

end;


Xion - Sa 08.05.10 13:16


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.Timer3Timer(Sender: TObject);
begin
 if Form1.AlphaBlendValue >=255 then
  Timer3.Enabled := false

 Form1.AlphaBlendValue:=Form1.AlphaBlendValue+1;

(Hier liegt mein Prob wie füge ich Form4.show ein ?)

end;

Form4? Um Form1 gehts da oben. Gabs dazu nicht erst vor kurzem nen Topic mit identischem Titel? :roll:


ALF - Sa 08.05.10 13:19

Ja was willst Du nun? Form4 Faden oder Form4 einfach anzeigen lassen!?
@Xion: jo da wurde eigentlich alles erklärt!
Da is er noch mal der Thread [http://www.delphi-forum.de/viewtopic.php?t=99252] :roll:

Gruss Alf


No0B - Sa 08.05.10 13:21

Form 4 einfaden lassen. Der Button ist auf Form 1. Und beim Klick soll form4 eingefadet werden.


ALF - Sa 08.05.10 13:23

Dann schau doch bitte noch mal hier rein [http://www.delphi-forum.de/viewtopic.php?t=99252]
oder willst Du das mit den gleichen Button machen?
Gruss Alf


No0B - Sa 08.05.10 13:34

Das Funktioniertja auch so weit, möchte aber jetzt durch drücken auf Button1 auf Form1 Form4 einfaden lassen.


ALF - Sa 08.05.10 13:44

ersetze einfach Form1., durch Form4.
Aber ich sehe da eventuell Missverständnisse, die Du uns noch nicht richtig gesagt hast :gruebel:
denn welchen Zweck ist der Button1 für die Form1.AlphaBlendValue oder war dies nur ein Versuch für was anderes?
Denn so wie Du es machen willst wirst Du irgend wann Probleme bekommen, so das Du, wenn noch mehr Formen ein/aus-geblendet werden sollen, Du Dir eine andere Lösung einfallen lassen musst!

Gruss Alf


No0B - Sa 08.05.10 14:25

Also mal Schritt für Schritt:

Habe auf Form1 den Button1 wenn ich diesen drücke soll Form4 einfaden.

Dazu habe ich auf Form1 den Timer3 erstellt.

Dem ich den Code verpasst habe


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
procedure TForm1.Timer3Timer(Sender: TObject);
begin
  if Form4.AlphaBlendValue >=255 then
  Timer3.Enabled := false
  else
  Form4.AlphaBlendValue:=Form4.AlphaBlendValue+1;

end;


Mit Button1 setze ich nur Timer 3 auf True.

Alphablend ist auf Form 4 ebenfalss auf true.

Wenn ich nun Button1 Dücke tut sich gar nix.

Muss ich den Timer in Form 4 Einfügen und dementsprechend den Code zuweisen oder reicht es auf Form1 ?


ALF - Sa 08.05.10 14:32

Hast Du auch mal überprüft!!!! der Timer ist normal auf 1000=1s eingestellt. der zähler ist auf 1, das ganze zu 255 = dauert 255s wenn ich richtig rechne!

Gruss Alf


Xion - Sa 08.05.10 14:33

ich würde sagen du musst beim button click Form4.AlphaBlendValue auf 0 setzen. und dann noch Form4.Show.


No0B - Sa 08.05.10 14:39

Also Alphablend hab ich auf Form4 auf gesetzt.
Intervall von Timer3 ist 10.

und Form4.show; setzte ich unter Form4.AlphaBlendValue:=Form4.AlphaBlendValue +1; richtig ?


elundril - Sa 08.05.10 14:41

nein, beim ButtonClick sollst du dazuschreiben:


Delphi-Quelltext
1:
2:
Form4.AlphablendValue:=0;
Form4.Show;


und das ganze bitte vor Timer3.Enabled := true;

lg elundril


No0B - Sa 08.05.10 14:45

Dankeschön, so gehts.


ALF - Sa 08.05.10 14:46

@No0B: Du solltest unbedingt Grundlagen lernen :les: , damit Du beim nächsten Fade versuch nicht wieder nachfragen must. Zumal alles in Deiner aller ersten Anfrage alles schon beantwortet wurde, mit Aussnahme Formx.Schow

Gruss ALf


No0B - Sa 08.05.10 14:50

Ist halt schon ne ganze weile her wo ich mit Delphi zu hatte und jetzt mal wieder nen Versuch gestartet hab.
Werds das nächste mal berücksichtigen.


delphi10 - So 09.05.10 19:09

Sorry, aber mir ist nicht klar, wozu du den Timer brauchst. Mit

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
Procedure TForm5.BlendOff; //.BlendOn;
var f: integer;
begin
 AlphaBlendValue := 254//0=einblenden
 f := 254//0=einblenden
 repeat
   Dec(f,2); //inc(f,2); einblenden
   Form5.AlphaBlendValue := f;
 until f <= 0;//until f >= 255; einblenden
 Form5.AlphaBlendValue := 0//255=einblenden
end;

kannst du beliebige Zwischenstufen einstellen und jede Form ein- oder ausblenden.