AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Form einblenden andere forms laden und form ausblenden
Thema durchsuchen
Ansicht
Themen-Optionen

Form einblenden andere forms laden und form ausblenden

Ein Thema von Christian18 · begonnen am 28. Jul 2005 · letzter Beitrag vom 29. Jul 2005
 
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

Re: Form einblenden andere forms laden und form ausblenden

  Alt 28. Jul 2005, 16:01
Zitat von Christian18:
ja so ähnlich bloß das die erste form eingeblendet wird, dann soll die anderen forms geladen werden und dann soll die lade forn wieder ausgeblendet werden und die haupt form angezeigt werden.
Ich habe mal schnell was gebastelt (ohne sakuras Tutorial als Grundlage, es geht ja nur um das Alphablending)

(Beispiel als *.zip im Anhang)

Delphi-Quellcode:
program Project1;
////////////////////////////////////////////////////////////////////////////////
// Splash Beispiel mit Alphablending (Ein- und Ausblenden)
// written in 2005 by MaBuSE for [url]www.delphipraxis.net[/url]
////////////////////////////////////////////////////////////////////////////////
uses
  Forms,
  Unit1 in 'Unit1.pas{Form1}, // Hauptformular
  Unit2 in 'Unit2.pas{Form2}, // Dummyformular ohne Funktion
  Unit3 in 'Unit3.pas{Form3}; // Splash

{$R *.res}

begin
  Application.Initialize;
  Form3 := TForm3.Create(nil);
  Form3.Show;
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm2, Form2);
  Application.Run;
end.
Delphi-Quellcode:
unit Unit1;
////////////////////////////////////////////////////////////////////////////////
// Splash Beispiel mit Alphablending (Ein- und Ausblenden)
// written in 2005 by MaBuSE for [url]www.delphipraxis.net[/url]
////////////////////////////////////////////////////////////////////////////////
interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    procedure FormActivate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

uses unit3;

{$R *.dfm}

{$J+}
procedure TForm1.FormActivate(Sender: TObject);
const
  FirstTime: Boolean = True;
begin
  // Wenn Hautformular sichtbar (also nach Application.Run in *.dpr)
  // Splash wieder ausblenden und aus Speicher entfernen
  if FirstTime then
  begin
    FirstTime := False;
    Form3.Close;
  end;
end;
{$J-}

end.
Delphi-Quellcode:
unit Unit3;
////////////////////////////////////////////////////////////////////////////////
// Splash Beispiel mit Alphablending (Ein- und Ausblenden)
// written in 2005 by MaBuSE for [url]www.delphipraxis.net[/url]
////////////////////////////////////////////////////////////////////////////////
interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm3 = class(TForm)
    Shape1: TShape; // optisch, keine Funktion
    Label1: TLabel; // optisch, keine Funktion
    procedure FormShow(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form3: TForm3;

implementation

{$R *.dfm}

procedure TForm3.FormCreate(Sender: TObject);
begin
  // Wird beim Create aufgerufen
  BorderStyle := bsNone;
  FormStyle := fsStayOnTop;
  Position := poMainFormCenter;
  Color := clRed; // :-)
end;

procedure TForm3.FormShow(Sender: TObject);
begin
  // Wird beim Show aufgerufen, aber Form ist noch nicht sichtbar
  Form3.AlphaBlendValue := 0;
  Form3.AlphaBlend := true; // Form ist nun trasparent (=unsichtbar)
end;

procedure TForm3.FormActivate(Sender: TObject);
var
  i: Integer;
begin
  // wird aufgerufen, wenn Form auf dem Schirm "sichtbar" ist. (ist ja noch transparent)

  // In Schleife einblenden
  for i := 0 to 255 do
  begin
    Form3.AlphaBlendValue := i;
    Application.ProcessMessages;
  end;
  sleep(500); // eine halbe Sek. warten (kann natürlich entfernt werden)
end;

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

end.
Angehängte Dateien
Dateityp: zip splashscreen_158.zip (3,8 KB, 132x aufgerufen)
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:03 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