![]() |
Bilder erscheinen und verschwinden lassen!
Ihr müsst mich für blöd halten, dass ich schon wieder Hilfe brauche :oops:
Habe folgendes vor: Ich will, wenn ich ein Form öffne/starte, dass nach ca. 1 Sekunde ein Bild erscheint und nach einer weitere Sekunde wieder verschwindet. Das müsste doch eigentlich mit einem Timer zu machen sein, oder? Ich hab die Bilder erst auf "visible:=false" gesetzt, den Timer auf "enabled:= fasle". Wenn sich das Form nun öffnet soll der Timer auf "enabled:= ture" gesetzt werden (soweit bin ich) aber das Bild will nicht erscheinen!!!!! Chriss |
Re: Bilder erscheinen und verschwinden lassen!
Hai,
setzt Du in deinem OnTimer Ereigniss auch visible := True für das Bild? Post doch einmal deine Code für das OnTimer Ereigniss. |
Ja, mach ich eigntlich...
Code:
procedure THauptfenster.FormCreate(Sender: TObject);
begin timer1.Enabled:= true; end; procedure THauptfenster.Timer1Timer(Sender: TObject); begin image1.Visible:= true; end; |
Re: Bilder erscheinen und verschwinden lassen!
Zitat:
Grüße, Daniel Delphi-PRAXiS Admin |
Re: Bilder erscheinen und verschwinden lassen!
okay, das beruhigt mich ja :D [/quote]
|
Hai chriss,
sollte eigentlich gehen. Ich habe es mit diesem Code gemacht und es läuft
Code:
ausblenden ist eine globale Variable vom Typ Boolean;
procedure TForm1.Timer1Timer(Sender: TObject);
begin timer1.Enabled := False; If (ausblenden) then begin Image1.Visible := False; end else begin Image1.Visible := True; timer1.Enabled := True; end; ausblenden := Not (ausblenden); end; procedure TForm1.FormCreate(Sender: TObject); begin ausblenden := False; Timer1.Enabled := True; end; sind noch andere Objekte auf dem Formular oder "nur" das Bild? |
hi, danke! ich versuchs mal so!!
es sind noch andere sachen auf der from, die sollten aber so bleiben, warum? |
Dann muss ich "ausblenden" als Variable deklarieren, oder wie?
|
Naja,
wenn du extrem "aufwendige" Objekte (z.b: Datenbankschnittstellen) hast könnte es ja passieren das dein Image schon wieder weg ist bevor das Formular überhaupt angezeigt wird. Du startes ja im OnCreate des Formulares des Timer. Bis ein Formular mit allen seinen Objekten erzeugt ist kann es ja länger als die von dir gewünschten zwei sek. dauern. P.S.: Ja, ausblenden musst Du als Variable deklarieren. |
tja, ich hab jetzt die variable deklariert, denn ohne, startet er nicht (undefinierter Bezeichner) und mit passiert gar nix :?
|
Ich hab´s mit dieser Zeile gemacht:
Code:
Mehr ist IMHO gar nicht erforderlich. Wenn man den Timer an anderer Stelle (Menü, Button ...) deaktiviert, dann kann man auch dafür sorgen, dass das Bild sichtbar bleibt.
[b]procedure[/b] TForm1.Timer1Timer(Sender: TObject);
[b]begin[/b] Image1.Visible := [b]not[/b](Image1.Visible); [b]end[/b]; Wozu Variablen, sharky :?: |
Soll das vielleicht so was wie ein Splash-Screen werden?
Wenn ja, da gibt´s ´ne günstigere Lösung, die sich sogar nach der benötigten Startzeit deines Programms richtet. |
:bounce2: Hey das is ja super! DAmit geht das gut! Die andere Lösung hat dann doch funktioniert, hab nur was auf der Form gehabt, womit sich das nicht so ganz vertragen hat :oops:
Kann man bei deiner Lösung jetzt auch dafür sorgen, dass das irgendwann aufhört? Oder setze ich da besser nen zweiten Timer ein, um den aneren abzuschalten???? Chriss |
Zitat:
Wenn du also dein eingeblendetes Bild auschaltest, dann mach im OnClose den Timer aus. |
okay, danke für den tipp!!!!!
Chriss |
Zitat:
Code:
Das war´s ... 8)
[b]var[/b]
two_seconds_2_die : byte = 0; [b]procedure[/b] TForm1.Timer1Timer(Sender: TObject); [b]begin[/b] Image1.Visible := [b]not[/b](Image1.Visible); inc(two_seconds_2_die); Timer1.Enabled := (two_seconds_2_die < 2); [b]end[/b]; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:37 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