[Lazarus] How to create a Wizard (InstallShield type) interface

Michael Van Canneyt michael at freepascal.org
Fri Aug 29 13:10:12 CEST 2008



On Fri, 29 Aug 2008, Burkhard Carstens wrote:

> Am Freitag, 29. August 2008 10:29 schrieb Michael Van Canneyt:
> > On Fri, 29 Aug 2008, Graeme Geldenhuys wrote:
> > > Hi,
> > >
> > > May applications, but mostly installations packages like
> > > InstallShield use a Wizard style interface. Start application,
> > > click Next, Next, Next, Finish. :-)
> > >
> > > How do you create such a Wizard interface?
> > >
> > >  * Is in a lot of forms, displayed over eachother?
> > >  * Is it a tab type component, with the tabs set to invisible?
> > >  * Does it use one Form and a bunch of Frames?
> > >  * ???
> > >
> > > Anybody have some hints on this? How to recreate such an GUI
> > > interface.
> >
> > At work, we routinely use a TPageControl with all tabs set to
> > invisible. The TTabsheet pages are filled with TFrames (actually,
> > there is always a TWizardFrame, and all TFrames descend from this) -
> > to ensure the various steps are truly independent.
> >
> > It keeps it RAD, and lets the various tabs be developed
> > independently. TWizardFrame has methods and properties such as
> > 'NextButtonEnabled' 'PreviousButtonEnabled', 'NextButtonCaption' and
> > so in, making the wizard itself pretty generic.
> 
> Unfortunately, this does not work with gtk1, at least it didn't a year 
> ago when I ported my wizard app from D7 to lazarus. It was impossible 
> to hide the tabs, and worse: I couldn't find a way to prevent selecting 
> a page by clicking the tabs (i.e. user could circumvent the "next" 
> button) ..

Well, the tabs can be hidden now in GTK 1 ?

Michael.



More information about the Lazarus mailing list