Da hier doch vollkommen unterschiedliche Inhalte angezeigt werden sollen (es riecht nach einem Spiel), sollte man definitiv mit Frames arbeiten.
Ein Frame für das Startbild,
eins für das Spiel selber und
eins für den HighScore.
Die MainForm, bestimmt anhand das GesamtStatus, welches Frame angezeigt werden soll. Weitere Frames sind dann auch kein Problem (Einstellungen, etc.).
Ansonsten gibt das doch einfach nur Gewurschtelt in einem Formular, wenn hier mit einem PageControl gearbeitet wird.
Delphi-Quellcode:
TMainForm = class( TForm )
private
FView : TFrame;
FState : Integer;
procedure SetState( const Value : Integer );
end;
procedure TMainForm.SetState( const Value : Integer );
begin
if FState <> Value then
begin
if Assigned( View ) then
begin
FView.Release;
FView := nil;
end;
FState := Value;
case FState of
0 : FView := TStartFrame.Create( Self );
1 : FView := TGameFrame.Create( Self );
2 : FView := THighscoreFrame.Create( Self );
end;
if Assigned( FView ) then
begin
FView.Parent := Self;
FView.Align := alClient;
end;
end;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)