例子图片
设计目标
能购方便的设计向导的每一页又不会非常的繁琐
?
下载例子源码WizardFrameWork
使用方式
gWizardMain.Execute;
TestMain.pas
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, uWizardMain, uWizardFrame, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
public
procedure OnInit(Sender: TObject);
procedure OnFinish(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
gWizardMain.OnInit := OnInit;
gWizardMain.OnFinish := OnFinish;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
gWizardMain.Execute;
end;
procedure TForm1.OnInit(Sender: TObject);
begin
{
éè??3?ê??μ
}
gWizardMain.FrameChain.Frames['F1'].ControlValues['Edit1'] := 'CloudQQ';
gWizardMain.FrameChain.Frames['F2'].ControlValues['Edit1'] := 'Mario';
end;
procedure TForm1.OnFinish(Sender: TObject);
begin
{
è??μ
}
ShowMessage(gWizardMain.FrameChain.Frames['F1'].ControlValues['Edit1']);
ShowMessage(gWizardMain.FrameChain.Frames['F2'].ControlValues['Edit1']);
end;
end.
uBaseFrame.pas
unit uBaseFrame;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TBaseFrameClass = class of TBaseFrame;
TBaseFrame = class(TFrame)
private
FTitle : string;
function GetControl(AName: string): TComponent;
public
procedure DoBeforeNext; virtual;
procedure DoAfterNext virtual;
procedure DoBeforePrev; virtual;
procedure DoAfterPrev virtual;
procedure DoHelp virtual;
procedure DoInit virtual;
public
function GetItemValue(const AName: string): Variant;
procedure SetItemValue(const AName: string; const AValue: Variant);
property Title : string read FTitle write FTitle;
property ControlValues[const AName: string]: Variant read GetItemValue write SetItemValue;
constructor Create(AOnwer: TComponent); override;
end;
implementation
uses uFilters;
{$R *.dfm}
{ TBaseFrame }
constructor TBaseFrame.Create(AOnwer: TComponent);
begin
inherited Create(AOnwer);
DoInit;
end;
procedure TBaseFrame.DoAfterNext;
begin
end;
procedure TBaseFrame.DoAfterPrev;
begin
end;
procedure TBaseFrame.DoBeforeNext;
begin
end;
procedure TBaseFrame.DoBeforePrev;
begin
end;