向导框架 delphi实现

本文介绍了一个使用Delphi实现的向导框架,包括TForm1的初始化、按钮点击事件以及向导框架中各组件的设置和操作。在TForm1的创建和按钮点击事件中,调用了向导框架的OnInit和OnFinish方法,实现了框架的启动和数据的读取展示。同时,展示了如何在OnInit中设置向导页面的编辑框值,并在OnFinish中显示这些值。
摘要由CSDN通过智能技术生成
例子图片
 
 
设计目标
 
能购方便的设计向导的每一页又不会非常的繁琐
 
?
 
下载例子源码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
;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值