[Deplhi] Hoe een Wizard app maken

Pagina: 1
Acties:

  • Parcye
  • Registratie: Maart 2001
  • Laatst online: 24-08-2017
Hoi

Ik ben bezig een Wizard te schrijven, en nu zit ik te zoeken naar de beste manier van maken van nieuwe layouts die bij de stap horen.

Opties die logisch lijken zijn voor iedere stap een form maken en steeds de volgende aanroepen. Maar dan krijg je het feit dat bij iedere form zoveel dingen het zelfde is, lijkt me onhandig.

De andere optie is een Panel die op verschillende momenten zichtbaar wordt, dus voor iedere stap een panel... want me ook veel werk lijkt.

Ik dacht misschien aan TFrame, maar toen kwam ik er echter achter dat deze maar van een type is, dus ik kan niet zeggen
code:
1
2
3
4
5
6
// Frame = TFrame
begin
  Frame:=TStap1_Frame.Create;
// wachten
  Frame:=TStap2_Frame.Create;
end;

Helaas werkt zo iets dus niet, want Frame moet van het type TStap1_Frame zijn om een Stap1_Frame te kunnen maken.

Wat zijn de meeste gebruikte oplossing voor het maken van een Wizard app? Wat raden jullie mij aan?

"Als je het kan bedenken, kan het gemaakt worden" Parcye - 14 januari 2002


Verwijderd

Met frames werkt wel bv:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
procedure TForm1.Button1Click(Sender: TObject);
begin
  { FFrame is een var. van type TFrame }
  FFrame.Free;
  { Met FCount houden we bij welke frame we laten zien }
  if FCount = 0 then
  begin
    FFrame := Tfrm00.Create(Self);
    { We willen de frame wel zien }
    FFrame.Parent := Self;
    { Tfrm00 heeft een TButton [Button1] }
    Tfrm00(FFrame).Button1.Caption := 'Hoi';
  end
  else
  begin
    FFrame := Tfrm01.Create(Self);
    FFrame.Parent := Self;
    { Tfrm01 heeft een TMemo [Memo1]
    Tfrm01(FFrame).Memo1.Text := 'Hoi';
  end;
  { Volgende keer de andere frame }
  FCount := (FCount + 1) mod 2;
end;

Of je zou een TPageControl kunnen gebruiken en dan steeds 1 page laten zien...

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Ik heb hier ooit es een PageControl voor gebruikt. Gewoon de tab's onzichtbaar maken, en met volgende/vorige door de tabs lopen. Simpel.

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • Parcye
  • Registratie: Maart 2001
  • Laatst online: 24-08-2017
Met pagecontrol hoe vang je dan af dat ze niet zelf naar de volgende tab gaan...

met die frame methode werkt het wel, maar niet echt de fijnste manier lijtk me, toch bedankt.

edit:

Opgelost! Bedankt allemaal

"Als je het kan bedenken, kan het gemaakt worden" Parcye - 14 januari 2002