Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#21

AW: Fenster/Seiten

  Alt 10. Jan 2015, 15:34
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)

Geändert von Sir Rufo (10. Jan 2015 um 15:39 Uhr)
  Mit Zitat antworten Zitat