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

Delphi控件源码

开发平台:

Delphi

  1. unit TabForm;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  5.   Frame2u, Frame3u, StdCtrls, ComCtrls;
  6. type
  7.   TForm1 = class(TForm)
  8.     Button1: TButton;
  9.     Button2: TButton;
  10.     Tab: TTabControl;
  11.     procedure TabChange(Sender: TObject);
  12.     procedure FormCreate(Sender: TObject);
  13.   private
  14.     { Private declarations }
  15.   public
  16.     procedure ShowFrame (FrameName: string);
  17.   end;
  18. var
  19.   Form1: TForm1;
  20. implementation
  21. {$R *.DFM}
  22. type
  23.   TFrameClass = class of TFrame;
  24. procedure TForm1.ShowFrame(FrameName: string);
  25. var
  26.   Frame: TFrame;
  27.   FrameClass: TFrameClass;
  28. begin
  29.   Frame := FindComponent (FrameName + '1') as TFrame;
  30.   if not Assigned (Frame) then
  31.   begin
  32.     FrameClass := TFrameClass (FindClass ('T' + FrameName));
  33.     Frame := FrameClass.Create (Self);
  34.     Frame.Parent := Tab;
  35.     Frame.Visible := True;
  36.     Frame.Name := FrameName + '1';
  37.   end;
  38.   Frame.BringToFront;
  39. end;
  40. procedure TForm1.TabChange(Sender: TObject);
  41. begin
  42.   ShowFrame (Tab.Tabs [Tab.TabIndex]);
  43. end;
  44. procedure TForm1.FormCreate(Sender: TObject);
  45. begin
  46.   ShowFrame (Tab.Tabs [Tab.TabIndex]);
  47. end;
  48. end.
  49.