home *** CD-ROM | disk | FTP | other *** search
/ PC World Plus! (NZ) 2001 June / HDC50.iso / Runimage / Delphi50 / Doc / TABNOTBK.INT < prev    next >
Text File  |  1999-08-11  |  3KB  |  100 lines

  1.  
  2. {*******************************************************}
  3. {                                                       }
  4. {       Borland Delphi Visual Component Library         }
  5. {                                                       }
  6. {       Copyright (c) 1995,99 Inprise Corporation       }
  7. {                                                       }
  8. {*******************************************************}
  9.  
  10. { This unit defines the TTabbedNotebook Component. }
  11.  
  12. unit Tabnotbk;
  13.  
  14. {$H+,X+}
  15.  
  16. interface
  17.  
  18. uses Windows, Classes,  Stdctrls, Forms, Messages, Graphics, Controls,
  19.   ComCtrls;
  20.  
  21. const
  22.   CM_TABFONTCHANGED = CM_BASE + 100;
  23.  
  24. type
  25.  
  26.   TPageChangeEvent = procedure(Sender: TObject; NewTab: Integer;
  27.     var AllowChange: Boolean) of object;
  28.  
  29.   { Class       : TTabPage
  30.     Description : This class implements the individual tab page behavior.
  31.                   Each instance of this class will hold controls to be
  32.                   displayed when it is the active page of a TTabbedNotebook
  33.                   component. }
  34.   TTabPage = class(TWinControl)
  35.   protected
  36.     procedure ReadState(Reader: TReader); override;
  37.   public
  38.     constructor Create(AOwner: TComponent); override;
  39.   published
  40.     property Caption;
  41.     property Height stored False;
  42.     property TabOrder stored False;
  43.     property Visible stored False;
  44.     property Width stored False;
  45.     property Enabled stored False;
  46.   end;
  47.  
  48.   { Class       : TTabbedNotebook
  49.     Description : This class implements Tabbed notebook component.
  50.                   It holds a collection of TTabPages onto which
  51.                   users can drop controls.  It uses MS-Word style
  52.                   tab buttons to allow the user to control which
  53.                   page is currently active. }
  54.   TTabbedNotebook = class(TCustomTabControl)
  55.   protected
  56.     procedure AlignControls(AControl: TControl; var Rect: TRect); override;
  57.     procedure Change; override;
  58.     procedure Click; override;
  59.     procedure CreateHandle; override;
  60.     procedure CreateParams(var Params: TCreateParams); override;
  61.     function GetChildOwner: TComponent; override;
  62.     procedure GetChildren(Proc: TGetChildProc; Root: TComponent); override;
  63.     procedure Loaded; override;
  64.     procedure KeyDown(var Key: Word; Shift: TShiftState); override;
  65.     procedure ReadState(Reader: TReader); override;
  66.     procedure SetPageIndex(Value: Integer);
  67.     procedure ShowControl(AControl: TControl); override;
  68.     procedure CMTabFontChanged(var Message: TMessage); message CM_TABFONTCHANGED;
  69.   public
  70.     constructor Create(AOwner: TComponent); override;
  71.     destructor  Destroy; override;
  72.     function GetIndexForPage(const PageName: string): Integer;
  73.     property TopFont: TFont;
  74.     procedure TabFontChanged(Sender: TObject);
  75.   published
  76.     property ActivePage: string;
  77.     property Align;
  78.     property Anchors;
  79.     property Constraints;
  80.     property Enabled;
  81.     property PageIndex: Integer default 0;
  82.     property Pages: TStrings;
  83.     property Font;
  84.     property TabsPerRow: Integer default 3;
  85.     property TabFont: TFont;
  86.     property ParentShowHint;
  87.     property PopupMenu;
  88.     property ShowHint;
  89.     property TabOrder;
  90.     property TabStop default True;
  91.     property Visible;
  92.     property OnClick: TNotifyEvent;
  93.     property OnChange: TPageChangeEvent;
  94.     property OnContextPopup;
  95.     property OnEnter;
  96.     property OnExit;
  97.   end;
  98.  
  99. implementation
  100.