Einzelnen Beitrag anzeigen

BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: MessageBox onTop bei aufruf möglich?

  Alt 20. Mai 2009, 11:55
Ich zeige dir mal die Erzeugung meines SplashScreens, vieelicht siehst du etwas auffälliges:

Delphi-Quellcode:
procedure TLoaderForm.FormActivate(Sender: TObject);
var i: Integer;
    oleVoice: OLEVariant;
begin
  // wird aufgerufen, wenn Form auf dem Schirm "sichtbar" ist. (ist ja noch transparent)
  // In Schleife einblenden
  for i := 0 to 230 do
  begin
    LoaderForm.AlphaBlendValue := i;
    Application.ProcessMessages;
  end;
  sleep(500); // eine halbe Sek. warten (kann natürlich entfernt werden)
end;

procedure TLoaderForm.FormClose(Sender: TObject; var Action: TCloseAction);
var i: Integer;
    
begin
  // Wenn Form geschlossen wird, ausblenden und "Self.Free" machen
  for i := 230 downto 0 do
  begin
    LoaderForm.AlphaBlendValue := i;
    Application.ProcessMessages;
  end;
  Action := caFree;
end;

procedure TLoaderForm.FormCreate(Sender: TObject);
begin
  AnzeigeLabel.Caption := '';
end;

procedure TLoaderForm.FormShow(Sender: TObject);
begin
  LoaderForm.AlphaBlendValue := 0;
  LoaderForm.AlphaBlend := true; // Form ist nun trasparent (=unsichtbar)
end;
auf caFree setze ich das erst wieder bei der Destroy-Funktion, kann es eventuell daran liegen? Die LoaderForm wird geladen, nachdem die HauptForm unsichtbar geöffnet wird. Sieht in der Create-Fkt so aus:

Delphi-Quellcode:
procedure TBedienForm.FormCreate(Sender: TObject);
begin
  BedienForm.Enabled := false;
  LoaderForm := TLoaderForm.Create(Application);
  LoaderForm.Show;
  LoaderForm.Refresh;
end;
2. Account Sero
  Mit Zitat antworten Zitat