Jak zrobić splash screen?

0

Potrzebuje zrobic ekran powitalny, ktory wyswietla sie 5 sekund i zamyka przed zaladowaniem formularza glownego programu

2

Jakie jest pytanie i dlaczego nie wpisałeś go w Google, zanim założyłeś ten wątek?

0

@Keryk - normalnie się to robi;

Tworzysz sobie najzwyklejszy formularz i ozdabiasz go tak jak potrzebujesz - dodajesz grafikę, etykiety itd.; Następnie przechodzisz do głównego modułu projektu (*.dpr) i przed stworzeniem głównego formularza aplikacji wyświetlasz splasha, następnie odliczasz tyle czasu ile chcesz, a po stworzeniu głównego formularza aplikacji (lub także innych, które tworzone są przy rozruchu aplikacji) ukrywasz i niszczysz splasha; Na koniec pokazujesz główny formularz - TADA;

Przykład znajdziesz np. w tym artykule - **http://4programmers.net/Delphi/Gotowce/Ekran_powitalny_-_Splash_Screen**; Natomiast po prawej stronie tego artykułu masz wątki pokrewne, z którymi także się zapoznaj.

1

Potrzebuje zrobic ekran powitalny, ktory wyswietla sie 5 sekund i zamyka przed zaladowaniem formularza glownego programu

Czyli jedyne co ma ten splash robić to opóźniać otwarcie programu o 5 sekund?

0

tak ma wyświetlić formularz przez 5 sekund i zamknąć się

ekran służy do zaprezentowania okładki programu, może być i 3 sekundy

1

komponent TTimer lub SetTimer()

0

Widziałem już kilka różnych sposobów na robienie ozdobnych ekranów powitalnych i odradzam robienia sztywnego Sleep na 5000ms; Objawiać się to będzie zamrożeniem obsługi komunikatów, więc np. okno nie będzie się odświeżać; Najlepiej zrobić to albo na timerze, tak jak podał poprzednik lub podobnych mechanizmach, które nie blokują kolejki komunikatów;

Choć można to obejść pośrednio przez wywoływanie w pętli metody Application.ProcessMessages:

const
  TIMER_STEP = Integer(50);
  TIMER_STOP = Integer(5000);
var
  intTimer: Integer = 0;
begin
  while intTimer < TIMER_STOP do
  begin
    Inc(intTimer, TIMER_STEP);
    Sleep(TIMER_STEP);
    Application.ProcessMessages();
  end;

{...}

end.

ale to raczej słaby pomysł;

Tylko nie zapomnij zabezpieczyć okienka splasha przed jego zamknięciem za pomocą kombinacji Alt+F4 - reaguj odpowiednio w zdarzeniu OnCloseQuery na takie próby i udaremniaj je (CanClose := False).

1 użytkowników online, w tym zalogowanych: 0, gości: 1