AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Weiter / Zurück Dialog

Ein Thema von stz · begonnen am 21. Jul 2006 · letzter Beitrag vom 24. Jul 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von stz
stz

Registriert seit: 8. Sep 2005
Ort: Neuendeich, Lübeck
277 Beiträge
 
Turbo Delphi für Win32
 
#1

Weiter / Zurück Dialog

  Alt 21. Jul 2006, 22:41
Moin zusammen,
ich bin auf der Suche nach einer eleganten Lösung für einen Dialog von der Sorte "Weiter" / "Zurück" / "Abbrechen". Ich habe das im Moment so gelöst, dass ich jede Seite auf ein eignes Panel gepackt habe, und bei einem Click auf den Button "Weiter" bzw. "Zurück", das passende Panel eingeblendet wird, aber irgendwie wird das langsam recht kompliziert, wenn eine neue Seite dazu kommen soll. Wie kann ich das denn mal besser lösen?

Damit klar ist, was ich meine, nochmal ein Bild im Anhang.

Gruß
Malte
Miniaturansicht angehängter Grafiken
zwischenablage01_118.png  
Malte Schmitz
Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie.

Entwickler des HTML-Editors MEdit (DP)
  Mit Zitat antworten Zitat
fLaSh11
(Gast)

n/a Beiträge
 
#2

Re: Weiter / Zurück Dialog

  Alt 21. Jul 2006, 22:56
ich denke mal, dass die Jedis dafür eine Lösund parat haben ("InstallWizard" oder so ähnlich glaube ich suchst du!)...
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#3

Re: Weiter / Zurück Dialog

  Alt 21. Jul 2006, 23:01
Hallo,

ich verwende da immer ein PageControl mit ausgeblendeten Tabs.

Gruß
xaromz
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#4

Re: Weiter / Zurück Dialog

  Alt 21. Jul 2006, 23:02
Ich würde da Frames verwenden...
  Mit Zitat antworten Zitat
Benutzerbild von stz
stz

Registriert seit: 8. Sep 2005
Ort: Neuendeich, Lübeck
277 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Weiter / Zurück Dialog

  Alt 21. Jul 2006, 23:16
Hi besten Dank für die schnellen Tips.

Zitat von Muetze1:
Ich würde da Frames verwenden...
Gibts denn da eine bessere Möglichkeit, als schon zur Entwurfszeit alle Frames, die ich haben will auf der Form zu platzieren? Sonst muss ich ja bei jedem neuen Frame erst dem Projekt einen neuen Frame hinzufügen und den dann auf die Form packen...

Gruß
Malte
Malte Schmitz
Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie.

Entwickler des HTML-Editors MEdit (DP)
  Mit Zitat antworten Zitat
Benutzerbild von Michael Habbe
Michael Habbe

Registriert seit: 10. Aug 2005
264 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Weiter / Zurück Dialog

  Alt 22. Jul 2006, 01:48
Wenn ich Dich richtig verstehe, packst Du die Panels übereinander auf das Formular. Dadurch das sie alle hintereinanderliegen, wird es kompliziert, diese zu verwalten.

Schonmal daran gedacht, die Panels untereinander zu legen (Beispielscreenshot im Anhang). So könntest Du im FormCreate das Formular skalieren und dann alle Panels auf Client setzen bzw. anordnen.
Miniaturansicht angehängter Grafiken
snap01551_529.png  
  Mit Zitat antworten Zitat
Benutzerbild von Mackhack
Mackhack

Registriert seit: 29. Nov 2003
Ort: San Diego, CA/USA
1.446 Beiträge
 
Delphi 2006 Architect
 
#7

Re: Weiter / Zurück Dialog

  Alt 22. Jul 2006, 06:36
Ich habe auch mal n Installer geschrieben und habe es so gemacht.

Du hast ne Variable vom Typ Integer sagen wir iStatus. Dann hab ich GroupBoxen auf der Form gehabt und den Zurueck-Button der so aussehen koennte:

Delphi-Quellcode:
procedure TFrmMain.ZurueckClick(Sender: TObject);
Begin
  If (iStatus > 0) Then
    Dec(iStatus);

  UpdateGUI;
End;
Die UpdateGUI sieht dann so aus:

Delphi-Quellcode:
Procedure TForm1.UpDateGUI;
Begin
  GroupBox_Start.Visible := (iStatus = 0);
  GroupBox_Eula.Visible := (iStatus = 1);
  GroupBox_InstallPath.Visible := (iStatus = 2);
  GroupBox_ProgramGroups.Visible := (iStatus = 3);
  GroupBox_InstallationOverview.Visible := (iStatus = 4);
  GroupBox_Installation.Visible := (iStatus = 5);
  GroupBox_Fertig.Visible := iStatus = 6;

  Zurueck.Visible := (iStatus >= 1);

  Weiter_Installieren.Enabled := (iStatus <= 4);

  If GroupBox_Eula.Visible Then
  Begin
    Weiter_Installieren.Enabled := False;
    Label18.Caption := GetHardDiskSpace + ' GB';
  End;

  If (iStatus = 3) Then
    GetProgramGroupEntries(GetStartMenuPath, Memo1.Lines);

  If (iStatus = 4) Then
  Begin
    Weiter_Installieren.Caption := '&Installieren';
    Memo2.Lines.Clear;
    Memo2.Lines.Add('Ziel-Ordner:');
    Memo2.Lines.Add(' ' + ExcludeTrailingBackSlash(EditInstallPath.Text));
    Memo2.Lines.Add(' ');
    Memo2.Lines.Add('Startmenü-Ordner:');
    Memo2.Lines.Add(' ' + Edit1.Text);
  End
  Else
    Weiter_Installieren.Caption := '&Weiter >';

  Zurueck.Enabled := (iStatus > 0);

  If RadioButton1.Checked Then
    Weiter_Installieren.Enabled := True;

  If (iStatus = 5) Then
  Begin
    Zurueck.Enabled := False;
    Weiter_Installieren.Enabled := False;
    Abbrechen.Enabled := False;
    InstallProgramFiles;
  End;

  If iStatus = 6 Then
  Begin
    Zurueck.Enabled := False;
    Weiter_Installieren.Caption := '&Beenden';
    Abbrechen.Enabled := False;
  End;
End;
Vlt. hilft dir die Anregung ja!
Um etwas Neues zu schaffen muss man seine Ohren vor den Nein-sagern verschliessen um seinen Geist öffnen zu können.
(George Lukas)
  Mit Zitat antworten Zitat
Benutzerbild von stz
stz

Registriert seit: 8. Sep 2005
Ort: Neuendeich, Lübeck
277 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Weiter / Zurück Dialog

  Alt 22. Jul 2006, 11:28
Hi,
vielen Dank für die Ideen...

@Mackhack: Irgendwie sieht dein Source deutlich einfacher aus als meiner. Da kann ich bestimmt noch ein paar Ideen klauen.

Ich glaube ich nehm die Lösung mit dem PageControl, da muss ich mir keine Gedanken um das Anzeigen machen, sondern kann einfach nur ActivePageIndex auf die passende Seite setzen und fertig.

Gruß
Malte
Malte Schmitz
Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie.

Entwickler des HTML-Editors MEdit (DP)
  Mit Zitat antworten Zitat
Benutzerbild von Mackhack
Mackhack

Registriert seit: 29. Nov 2003
Ort: San Diego, CA/USA
1.446 Beiträge
 
Delphi 2006 Architect
 
#9

Re: Weiter / Zurück Dialog

  Alt 22. Jul 2006, 19:08
Der Code ist schon 5 Jahre alt daher siehst du auch Dinge wie Memo1 oder so. Heute benenn ich die Sinnvoller Aber klar nimm die Idee ruhig, dazu ist sie gepostet!
Um etwas Neues zu schaffen muss man seine Ohren vor den Nein-sagern verschliessen um seinen Geist öffnen zu können.
(George Lukas)
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#10

Re: Weiter / Zurück Dialog

  Alt 23. Jul 2006, 00:19
Zitat von stz:
Zitat von Muetze1:
Ich würde da Frames verwenden...
Gibts denn da eine bessere Möglichkeit, als schon zur Entwurfszeit alle Frames, die ich haben will auf der Form zu platzieren? Sonst muss ich ja bei jedem neuen Frame erst dem Projekt einen neuen Frame hinzufügen und den dann auf die Form packen...
Hä? Frames erzeugen für die Seiten und eine Form als Basis. Zur Laufzeit abhängig von der aktuellen Seite die Frame erzeugen und instanziieren und so auf die Form packen - warum solltest du dies schon zur DesignTime machen wollen? Dann bringt es doch keine Vorteile...

Zur einfacheren Verwaltung könntest du dir eine Frame anlegen und von der ableiten, dann kannst du einfach mit einer in der Basis virtuellen Funktion einfach abprüfen lassen, ob z.B. der Weiter-Button erlaubt ist (z.B: wenn der User noch Daten eingeben muss)...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 16:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz