WizForm.pas
上传用户:fh681027
上传日期:2022-07-23
资源大小:1959k
文件大小:4k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit WizForm;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  5.   ComCtrls, StdCtrls, ExtCtrls, ShellApi;
  6. type
  7.   TForm1 = class(TForm)
  8.     PageControl1: TPageControl;
  9.     TabSheet1: TTabSheet;
  10.     TabSheet2: TTabSheet;
  11.     TabSheet3: TTabSheet;
  12.     TabSheet4: TTabSheet;
  13.     TabSheet5: TTabSheet;
  14.     Image1: TImage;
  15.     btnNext1: TButton;
  16.     btnNext2: TButton;
  17.     btnNext3: TButton;
  18.     btnNext4: TButton;
  19.     btnNext5: TButton;
  20.     Bevel1: TBevel;
  21.     Label1: TLabel;
  22.     CheckInprise: TCheckBox;
  23.     btnBack: TButton;
  24.     Label2: TLabel;
  25.     Label3: TLabel;
  26.     CheckDone: TCheckBox;
  27.     Label4: TLabel;
  28.     Label5: TLabel;
  29.     CheckDone2: TCheckBox;
  30.     ListBox1: TListBox;
  31.     Label6: TLabel;
  32.     Label7: TLabel;
  33.     Label8: TLabel;
  34.     procedure btnNext1Click(Sender: TObject);
  35.     procedure btnBackClick(Sender: TObject);
  36.     procedure FormCreate(Sender: TObject);
  37.     procedure FormDestroy(Sender: TObject);
  38.     procedure btnNext2Click(Sender: TObject);
  39.     procedure btnNext3Click(Sender: TObject);
  40.     procedure btnNext4Click(Sender: TObject);
  41.     procedure btnNext5Click(Sender: TObject);
  42.     procedure LabelLinkClick(Sender: TObject);
  43.     procedure ListBox1Click(Sender: TObject);
  44.   private
  45.     BackPages: TList;
  46.   public
  47.     procedure MoveTo (TabSheet: TTabSheet);
  48.   end;
  49. var
  50.   Form1: TForm1;
  51. implementation
  52. {$R *.DFM}
  53. procedure TForm1.btnNext1Click(Sender: TObject);
  54. begin
  55.   if CheckInprise.Checked then
  56.     MoveTo (TabSheet2)
  57.   else
  58.     MoveTo (TabSheet3);
  59. end;
  60. procedure TForm1.btnBackClick(Sender: TObject);
  61. var
  62.   LastPage: TTabSheet;
  63. begin
  64.   // get the last page and jump to it
  65.   LastPage := TTabSheet (BackPages [BackPages.Count - 1]);
  66.   PageControl1.ActivePage := LastPage;
  67.   // delete the last page from the list
  68.   BackPages.Delete (BackPages.Count - 1);
  69.   // eventually disable the back button
  70.   BtnBack.Enabled := not (BackPages.Count = 0);
  71.   // move image and bevel
  72.   Bevel1.Parent := PageControl1.ActivePage;
  73.   Image1.Parent := PageControl1.ActivePage;
  74. end;
  75. procedure TForm1.FormCreate(Sender: TObject);
  76. begin
  77.   BackPages := TList.Create;
  78.   // always start with the first page
  79.   PageControl1.ActivePage := TabSheet1;
  80. end;
  81. procedure TForm1.FormDestroy(Sender: TObject);
  82. begin
  83.   BackPages.Free;
  84. end;
  85. procedure TForm1.MoveTo(TabSheet: TTabSheet);
  86. begin
  87.   // add the last page to the list
  88.   BackPages.Add (PageControl1.ActivePage);
  89.   BtnBack.Enabled := True;
  90.   // change page
  91.   PageControl1.ActivePage := TabSheet;
  92.   // move image and bevel
  93.   Bevel1.Parent := PageControl1.ActivePage;
  94.   Image1.Parent := PageControl1.ActivePage;
  95. end;
  96. procedure TForm1.btnNext2Click(Sender: TObject);
  97. begin
  98.   if CheckDone.Checked then
  99.     MoveTo (TabSheet5)
  100.   else
  101.     MoveTo (TabSheet3);
  102. end;
  103. procedure TForm1.btnNext3Click(Sender: TObject);
  104. begin
  105.   if CheckDone.Checked then
  106.     MoveTo (TabSheet5)
  107.   else
  108.     MoveTo (TabSheet4);
  109. end;
  110. procedure TForm1.btnNext4Click(Sender: TObject);
  111. begin
  112.   MoveTo (TabSheet5);
  113. end;
  114. procedure TForm1.btnNext5Click(Sender: TObject);
  115. begin
  116.   Close;
  117. end;
  118. procedure TForm1.LabelLinkClick(Sender: TObject);
  119. var
  120.   Caption, StrUrl: string;
  121. begin
  122.   Caption := (Sender as TLabel).Caption;
  123.   StrUrl := Copy (Caption, Pos ('http://', Caption), 1000);
  124.   ShellExecute (Handle, 'open', PChar (StrUrl), '', '', sw_Show);
  125. end;
  126. procedure TForm1.ListBox1Click(Sender: TObject);
  127. var
  128.   StrUrl: string;
  129. begin
  130.   StrUrl := ListBox1.Items [ListBox1.ItemIndex];
  131.   ShellExecute (Handle, 'open', PChar (StrUrl), '', '', sw_Show);
  132. end;
  133. end.