home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / sibylft1.zip / DOC.DAT / DOC / SPCC / DBCTRLS.PAS < prev    next >
Pascal/Delphi Source File  |  1997-04-07  |  18KB  |  441 lines

  1. {╔══════════════════════════════════════════════════════════════════════════╗
  2.  ║                                                                          ║
  3.  ║     Sibyl Portable Component Classes                                     ║
  4.  ║                                                                          ║
  5.  ║     Copyright (c) 1995,97 SpeedSoft Germany,   All rights reserved.      ║
  6.  ║                                                                          ║
  7.  ╚══════════════════════════════════════════════════════════════════════════╝}
  8.  
  9. UNIT DBCtrls;
  10.  
  11.  
  12. INTERFACE
  13.  
  14. {$r DBCtrls}
  15.  
  16. {$i StdBmpId.Inc}
  17.  
  18. USES SysUtils,Messages,Classes,Forms,Grids,DbBase,Buttons,StdCtrls,Dialogs,ExtCtrls;
  19.  
  20. TYPE
  21.     {$M+}
  22.     TDBGridOptions = SET OF (dgBorder,dgRowResize,dgColumnResize,dgEditing,dgAlwaysShowEditor,
  23.                              dgShowSelection,dgAlwaysShowSelection,dgConfirmDelete,
  24.                              dgCancelOnExit,dgIndicator,dgTitles,{Rene}dgMouseSelect);
  25.     {$M-}
  26.  
  27.     TDBGrid=CLASS;
  28.     TDBGridColumn=CLASS;
  29.     TDBGridColumns=CLASS;
  30.  
  31.     TDBColumnTitle=CLASS
  32.        PRIVATE
  33.          FCaption:^STRING;
  34.          FAlignment:TAlignment;
  35.          FFont:TFont;
  36.          FColor:TColor;
  37.          FGrid:TDBGrid;
  38.          FColumn:TDBGridColumn;
  39.          FPenColor:TColor;
  40.        PRIVATE
  41.          FUNCTION GetFont:TFont;
  42.          PROCEDURE SetFont(NewFont:TFont);
  43.          PROCEDURE SetColor(NewColor:TColor);
  44.          PROCEDURE SetPenColor(NewColor:TColor);
  45.          PROCEDURE SetAlignment(NewValue:TAlignment);
  46.          FUNCTION GetCaption:STRING;
  47.          PROCEDURE SetCaption(CONST NewValue:STRING);
  48.        PUBLIC
  49.          CONSTRUCTOR Create(DBGrid:TDBGrid;Column:TDBGridColumn);
  50.          DESTRUCTOR Destroy;OVERRIDE;
  51.        PUBLIC
  52.          PROPERTY Font:TFont read GetFont write SetFont;
  53.          PROPERTY Color:TColor read FColor write SetColor;
  54.          PROPERTY PenColor:TColor read FPenColor write SetPenColor;
  55.          PROPERTY Alignment:TAlignment read FAlignment write SetAlignment;
  56.          PROPERTY Caption:STRING read GetCaption write SetCaption;
  57.     END;
  58.  
  59.     TDBGridColumn=CLASS
  60.        PRIVATE
  61.          FFieldName:^STRING;
  62.          FTitle:TDBColumnTitle;
  63.          FColor:TColor;
  64.          FGrid:TDBGrid;
  65.          FColumns:TDBGridColumns;
  66.          FWidth:LONGINT;
  67.          FAlignment:TAlignment;
  68.          FReadOnly:BOOLEAN;
  69.          FFont:TFont;
  70.          FPenColor:TColor;
  71.        PRIVATE
  72.          FUNCTION GetFieldName:STRING;
  73.          PROCEDURE SetFieldName(CONST NewValue:STRING);
  74.          PROCEDURE SetTitle(NewTitle:TDBColumnTitle);
  75.          PROCEDURE SetColor(NewColor:TColor);
  76.          PROCEDURE SetPenColor(NewColor:TColor);
  77.          FUNCTION GetWidth:LONGINT;
  78.          PROCEDURE SetWidth(NewWidth:LONGINT);
  79.          PROCEDURE SetAlignment(NewValue:TAlignment);
  80.          FUNCTION GetFont:TFont;
  81.          PROCEDURE SetFont(NewFont:TFont);
  82.        PUBLIC
  83.          CONSTRUCTOR Create(DBGrid:TDBGrid;Columns:TDBGridColumns);
  84.          DESTRUCTOR Destroy;OVERRIDE;
  85.        PUBLIC
  86.          PROPERTY FieldName:STRING read GetFieldName write SetFieldName;
  87.          PROPERTY Title:TDBColumnTitle read FTitle write SetTitle;
  88.          PROPERTY Color:TColor read FColor write SetColor;
  89.          PROPERTY PenColor:TColor read FPenColor write SetPenColor;
  90.          PROPERTY Width:LONGINT read GetWidth write SetWidth;
  91.          PROPERTY Alignment:TAlignment read FAlignment write SetAlignment;
  92.          PROPERTY ReadOnly:BOOLEAN read FReadOnly write FReadOnly;
  93.          PROPERTY Font:TFont read GetFont write SetFont;
  94.     END;
  95.  
  96.     TDBGridColumns=CLASS(TList)
  97.         PRIVATE
  98.          FGrid:TDBGrid;
  99.          FUpdateLocked:BOOLEAN;
  100.         PRIVATE
  101.          FUNCTION GetColumn(Index:LONGINT):TDBGridColumn;
  102.          PROCEDURE SetColumn(Index:LONGINT;Column:TDBGridColumn);
  103.         PUBLIC
  104.          CONSTRUCTOR Create(DBGrid:TDBGrid);
  105.          DESTRUCTOR Destroy;OVERRIDE;
  106.          FUNCTION Add:TDBGridColumn;
  107.          PROCEDURE Delete(Index:LONGINT);
  108.          PROCEDURE FreeItem(Item:POINTER);OVERRIDE;
  109.          PROCEDURE BeginUpdate;
  110.          PROCEDURE EndUpdate;
  111.         PUBLIC
  112.          PROPERTY Items[Index:LONGINT]:TDBGridColumn read GetColumn write SetColumn;default;
  113.          PROPERTY Grid:TDBGrid read FGrid;
  114.     END;
  115.  
  116.     TDBGrid=CLASS(TStringGrid)
  117.       PRIVATE
  118.          FDataLink:TTableDataLink;
  119.          FGridOptions:TDBGridOptions;
  120.          FColumns:TDBGridColumns;
  121.          PROCEDURE SetDataSource(NewValue:TDataSource);
  122.          FUNCTION GetDataSource:TDataSource;
  123.          PROCEDURE SetGridOptions(NewValue:TDBGridOptions);
  124.          PROCEDURE SetColumns(NewColumns:TDBGridColumns);
  125.       PROTECTED
  126.          PROCEDURE DataChange(Sender:TObject;Event:TDataChange);VIRTUAL;
  127.          PROCEDURE SetFont(NewFont:TFont);OVERRIDE;
  128.          PROCEDURE Scroll(ScrollBar:TScrollBar;ScrollCode:TScrollCode;VAR ScrollPos:LONGINT);OVERRIDE;
  129.          PROCEDURE SetupComponent;OVERRIDE;
  130.          FUNCTION GetCell(Col,Row:LONGINT):STRING;OVERRIDE;
  131.          PROCEDURE SetCell(Col,Row:LONGINT;CONST NewContent:STRING);OVERRIDE;
  132.          {Rene}
  133.          FUNCTION SelectCell(Col,Row:LONGINT):BOOLEAN;OVERRIDE;
  134.          PROCEDURE SetupCellDrawing(Col,Row:LONGINT;AState:TGridDrawState;
  135.                                     VAR Alignment:TAlignment;VAR DrawFont:TFont);OVERRIDE;
  136.          PROCEDURE SetupCellColors(Col,Row:LongInt;AState:TGridDrawState;VAR Background,ForeGround:TColor);OVERRIDE;
  137.          FUNCTION WriteSCUResource(Stream:TResourceStream):BOOLEAN;OVERRIDE;
  138.          PROCEDURE ReadSCUResource(CONST ResName:TResourceName;VAR Data;DataLen:LONGINT);OVERRIDE;
  139.          PROPERTY FixedCols;
  140.          PROPERTY FixedRows;
  141.          PROPERTY ColCount;
  142.          PROPERTY RowCount;
  143.          PROPERTY Options;
  144.       PUBLIC
  145.          DESTRUCTOR Destroy;OVERRIDE;
  146.          PROCEDURE DrawCell(Col,Row:LONGINT;rec:TRect;AState:TGridDrawState);OVERRIDE;
  147.       PUBLISHED
  148.          PROPERTY DataSource:TDataSource read GetDataSource write SetDataSource;
  149.          PROPERTY GridOptions:TDBGridOptions read FGridOptions write SetGridOptions;
  150.          PROPERTY Columns:TDBGridColumns read FColumns write SetColumns;
  151.     END;
  152.  
  153.     TGetDataSourceProc=FUNCTION:TDataSource OF OBJECT;
  154.  
  155.     TDataFieldStringList=CLASS(TStringSelectList)
  156.        PRIVATE
  157.           FDataLink:TFieldDataLink;
  158.           FGetDataSourceProc:TGetDataSourceProc;
  159.        PUBLIC
  160.           FUNCTION GetItems:TStringList;OVERRIDE;
  161.           PROCEDURE SetStringItem(NewValue:STRING);OVERRIDE;
  162.        PUBLIC
  163.           PROPERTY GetDataSourceProc:TGetDataSourceProc read FGetDataSourceProc write FGetDataSourceProc;
  164.     END;
  165.  
  166.     TDBEdit=CLASS(TEdit)
  167.       PRIVATE
  168.          FDataLink:TFieldDataLink;
  169.          FDataFields:TDataFieldStringList;
  170.          PROCEDURE SetDataSource(NewValue:TDataSource);
  171.          FUNCTION GetDataSource:TDataSource;
  172.          PROCEDURE SetDataField(NewValue:STRING);
  173.          FUNCTION GetDataField:STRING;
  174.       PROTECTED
  175.          PROCEDURE SetupComponent;OVERRIDE;
  176.          PROCEDURE SetupShow;OVERRIDE;
  177.          PROCEDURE DataChange(Sender:TObject;Event:TDataChange);VIRTUAL;
  178.          PROCEDURE KillFocus;OVERRIDE;
  179.          PROCEDURE ScanEvent(VAR Msg:TWMChar;VAR KeyCode:TKeyCode;RepeatCount:BYTE);OVERRIDE;
  180.       PUBLIC
  181.          DESTRUCTOR Destroy;OVERRIDE;
  182.          FUNCTION WriteSCUResource(Stream:TResourceStream):BOOLEAN;OVERRIDE;
  183.          PROCEDURE ReadSCUResource(CONST ResName:TResourceName;VAR Data;DataLen:LONGINT);OVERRIDE;
  184.          PROPERTY DataField:STRING read GetDataField write SetDataField;
  185.       PUBLISHED
  186.          PROPERTY DataSource:TDataSource read GetDataSource write SetDataSource;
  187.          PROPERTY DataFields:TDataFieldStringList read FDataFields;
  188.     END;
  189.  
  190.     TDBText=CLASS(TLabel)
  191.       PRIVATE
  192.          FDataLink:TFieldDataLink;
  193.          FDataFields:TDataFieldStringList;
  194.          PROCEDURE SetDataSource(NewValue:TDataSource);
  195.          FUNCTION GetDataSource:TDataSource;
  196.          PROCEDURE SetDataField(NewValue:STRING);
  197.          FUNCTION GetDataField:STRING;
  198.       PROTECTED
  199.          PROCEDURE SetupComponent;OVERRIDE;
  200.          PROCEDURE DataChange(Sender:TObject;Event:TDataChange);VIRTUAL;
  201.          PROCEDURE SetupShow;OVERRIDE;
  202.       PUBLIC
  203.          DESTRUCTOR Destroy;OVERRIDE;
  204.          FUNCTION WriteSCUResource(Stream:TResourceStream):BOOLEAN;OVERRIDE;
  205.          PROCEDURE ReadSCUResource(CONST ResName:TResourceName;VAR Data;DataLen:LONGINT);OVERRIDE;
  206.          PROPERTY DataField:STRING read GetDataField write SetDataField;
  207.       PUBLISHED
  208.          PROPERTY DataSource:TDataSource read GetDataSource write SetDataSource;
  209.          PROPERTY DataFields:TDataFieldStringList read FDataFields;
  210.     END;
  211.  
  212.     TDBCheckBox=CLASS(TCheckBox)
  213.       PRIVATE
  214.          FDataLink:TFieldDataLink;
  215.          FValueChecked:PString;
  216.          FValueUnchecked:PString;
  217.          FDataFields:TDataFieldStringList;
  218.          PROCEDURE SetDataSource(NewValue:TDataSource);
  219.          FUNCTION GetDataSource:TDataSource;
  220.          PROCEDURE SetDataField(NewValue:STRING);
  221.          FUNCTION GetDataField:STRING;
  222.          PROCEDURE SetValueChecked(NewValue:STRING);
  223.          FUNCTION GetValueChecked:STRING;
  224.          PROCEDURE SetValueUnchecked(NewValue:STRING);
  225.          FUNCTION GetValueUnchecked:STRING;
  226.       PROTECTED
  227.          PROCEDURE SetupComponent;OVERRIDE;
  228.          PROCEDURE DataChange(Sender:TObject;Event:TDataChange);VIRTUAL;
  229.          PROCEDURE SetupShow;OVERRIDE;
  230.          PROCEDURE Click;OVERRIDE;
  231.       PUBLIC
  232.          DESTRUCTOR Destroy;OVERRIDE;
  233.          FUNCTION WriteSCUResource(Stream:TResourceStream):BOOLEAN;OVERRIDE;
  234.          PROCEDURE ReadSCUResource(CONST ResName:TResourceName;VAR Data;DataLen:LONGINT);OVERRIDE;
  235.          PROPERTY DataField:STRING read GetDataField write SetDataField;
  236.       PUBLISHED
  237.          PROPERTY DataSource:TDataSource read GetDataSource write SetDataSource;
  238.          PROPERTY ValueChecked:STRING read GetValueChecked write SetValueChecked;
  239.          PROPERTY ValueUnchecked:STRING read GetValueUnchecked write SetValueUnchecked;
  240.          PROPERTY DataFields:TDataFieldStringList read FDataFields;
  241.     END;
  242.  
  243.  
  244.     TDBImage=CLASS(TImage)
  245.       PRIVATE
  246.          FDataLink:TFieldDataLink;
  247.          FDataFields:TDataFieldStringList;
  248.          PROCEDURE SetDataSource(NewValue:TDataSource);
  249.          FUNCTION GetDataSource:TDataSource;
  250.          PROCEDURE SetDataField(NewValue:STRING);
  251.          FUNCTION GetDataField:STRING;
  252.          PROPERTY Picture;
  253.       PROTECTED
  254.          PROCEDURE SetupComponent;OVERRIDE;
  255.          PROCEDURE DataChange(Sender:TObject;Event:TDataChange);VIRTUAL;
  256.          PROCEDURE SetupShow;OVERRIDE;
  257.       PUBLIC
  258.          DESTRUCTOR Destroy;OVERRIDE;
  259.          FUNCTION WriteSCUResource(Stream:TResourceStream):BOOLEAN;OVERRIDE;
  260.          PROCEDURE ReadSCUResource(CONST ResName:TResourceName;VAR Data;DataLen:LONGINT);OVERRIDE;
  261.          PROPERTY DataField:STRING read GetDataField write SetDataField;
  262.       PUBLISHED
  263.          PROPERTY DataSource:TDataSource read GetDataSource write SetDataSource;
  264.          PROPERTY DataFields:TDataFieldStringList read FDataFields;
  265.     END;
  266.  
  267.     TDBMemo=CLASS(TMemo)
  268.       PRIVATE
  269.          FDataLink:TFieldDataLink;
  270.          FDataFields:TDataFieldStringList;
  271.          PROCEDURE SetDataSource(NewValue:TDataSource);
  272.          FUNCTION GetDataSource:TDataSource;
  273.          PROCEDURE SetDataField(NewValue:STRING);
  274.          FUNCTION GetDataField:STRING;
  275.       PROTECTED
  276.          PROCEDURE SetupComponent;OVERRIDE;
  277.          PROCEDURE DataChange(Sender:TObject;Event:TDataChange);VIRTUAL;
  278.          PROCEDURE SetupShow;OVERRIDE;
  279.       PUBLIC
  280.          DESTRUCTOR Destroy;OVERRIDE;
  281.          FUNCTION WriteSCUResource(Stream:TResourceStream):BOOLEAN;OVERRIDE;
  282.          PROCEDURE ReadSCUResource(CONST ResName:TResourceName;VAR Data;DataLen:LONGINT);OVERRIDE;
  283.          PROPERTY DataField:STRING read GetDataField write SetDataField;
  284.       PUBLISHED
  285.          PROPERTY DataSource:TDataSource read GetDataSource write SetDataSource;
  286.          PROPERTY DataFields:TDataFieldStringList read FDataFields;
  287.     END;
  288.  
  289.     TDBListBox=CLASS(TListBox)
  290.       PRIVATE
  291.          FDataLink:TFieldDataLink;
  292.          FDataFields:TDataFieldStringList;
  293.          FDBStrings:TStrings;
  294.       PRIVATE
  295.          PROCEDURE SetDataSource(NewValue:TDataSource);
  296.          FUNCTION GetDataSource:TDataSource;
  297.          PROCEDURE SetDataField(NewValue:STRING);
  298.          FUNCTION GetDataField:STRING;
  299.          PROCEDURE SetItems(NewValue:TStrings);
  300.       PROTECTED
  301.          PROCEDURE SetupComponent;OVERRIDE;
  302.          PROCEDURE DataChange(Sender:TObject;Event:TDataChange);VIRTUAL;
  303.          PROCEDURE SetupShow;OVERRIDE;
  304.          PROCEDURE ItemFocus(Index:LONGINT);OVERRIDE;
  305.       PUBLIC
  306.          DESTRUCTOR Destroy;OVERRIDE;
  307.          FUNCTION WriteSCUResource(Stream:TResourceStream):BOOLEAN;OVERRIDE;
  308.          PROCEDURE ReadSCUResource(CONST ResName:TResourceName;VAR Data;DataLen:LONGINT);OVERRIDE;
  309.       PUBLIC
  310.          PROPERTY DataField:STRING read GetDataField write SetDataField;
  311.          PROPERTY Items:TStrings read FDBStrings write SetItems;
  312.       PUBLISHED
  313.          PROPERTY DataSource:TDataSource read GetDataSource write SetDataSource;
  314.          PROPERTY DataFields:TDataFieldStringList read FDataFields;
  315.     END;
  316.  
  317.     TDBComboBox=CLASS(TComboBox)
  318.        PRIVATE
  319.          FDataLink:TFieldDataLink;
  320.          FDataFields:TDataFieldStringList;
  321.          FLock:BOOLEAN;
  322.        PRIVATE
  323.          PROCEDURE SetDataSource(NewValue:TDataSource);
  324.          FUNCTION GetDataSource:TDataSource;
  325.          PROCEDURE SetDataField(NewValue:STRING);
  326.          FUNCTION GetDataField:STRING;
  327.        PROTECTED
  328.          PROCEDURE EditChange;OVERRIDE;
  329.          PROCEDURE SetupShow;OVERRIDE;
  330.          PROCEDURE SetupComponent;OVERRIDE;
  331.          PROCEDURE DataChange(Sender:TObject;Event:TDataChange);VIRTUAL;
  332.        PUBLIC
  333.          DESTRUCTOR Destroy;OVERRIDE;
  334.          FUNCTION WriteSCUResource(Stream:TResourceStream):BOOLEAN;OVERRIDE;
  335.          PROCEDURE ReadSCUResource(CONST ResName:TResourceName;VAR Data;DataLen:LONGINT);OVERRIDE;
  336.        PUBLIC
  337.          PROPERTY DataField:STRING read GetDataField write SetDataField;
  338.        PUBLISHED
  339.          PROPERTY DataSource:TDataSource read GetDataSource write SetDataSource;
  340.          PROPERTY DataFields:TDataFieldStringList read FDataFields;
  341.     END;
  342.  
  343.     TDBRadioGroup=CLASS(TRadioGroup)
  344.        PRIVATE
  345.          FDataLink:TFieldDataLink;
  346.          FDataFields:TDataFieldStringList;
  347.          FValues:TStrings;
  348.          FLock:BOOLEAN;
  349.        PRIVATE
  350.          PROCEDURE SetDataSource(NewValue:TDataSource);
  351.          FUNCTION GetDataSource:TDataSource;
  352.          PROCEDURE SetDataField(NewValue:STRING);
  353.          FUNCTION GetDataField:STRING;
  354.          FUNCTION GetValue:STRING;
  355.          PROCEDURE SetValue(CONST NewValue:STRING);
  356.          PROCEDURE SetValues(NewValue:TStrings);
  357.        PROTECTED
  358.          PROCEDURE SetupShow;OVERRIDE;
  359.          PROCEDURE SetupComponent;OVERRIDE;
  360.          PROCEDURE DataChange(Sender:TObject;Event:TDataChange);VIRTUAL;
  361.          PROCEDURE ItemIndexChange;OVERRIDE;
  362.        PUBLIC
  363.          DESTRUCTOR Destroy;OVERRIDE;
  364.          FUNCTION WriteSCUResource(Stream:TResourceStream):BOOLEAN;OVERRIDE;
  365.          PROCEDURE ReadSCUResource(CONST ResName:TResourceName;VAR Data;DataLen:LONGINT);OVERRIDE;
  366.        PUBLIC
  367.          PROPERTY DataField:STRING read GetDataField write SetDataField;
  368.          PROPERTY Value:STRING read GetValue write SetValue;
  369.          PROPERTY Values:TStrings read FValues write SetValues;
  370.        PUBLISHED
  371.          PROPERTY DataSource:TDataSource read GetDataSource write SetDataSource;
  372.          PROPERTY DataFields:TDataFieldStringList read FDataFields;
  373.     END;
  374.  
  375.     {$M+}
  376.     TNavigateBtn=(dbFirst, dbPrior, dbNext, dbLast, dbInsert,
  377.                   dbDelete, dbEdit, dbPost, dbCancel, dbRefresh);
  378.     TNavigateBtnSet=SET OF TNavigateBtn;
  379.  
  380.     TNavClick=PROCEDURE(Sender:TObject;Button:TNavigateBtn) OF OBJECT;
  381.     {$M-}
  382.  
  383.     TDBNavigator=CLASS(TControl)
  384.       PRIVATE
  385.          FButtons:ARRAY[TNavigateBtn] OF TBitBtn;
  386.          FVisibleButtons:TNavigateBtnSet;
  387.          FEnabledButtons:TNavigateBtnSet;
  388.          FDataLink:TTableDataLink;
  389.          FOnNavClick:TNavClick;
  390.          PROCEDURE SetVisibleButtons(NewState:TNavigateBtnSet);
  391.          PROCEDURE SetEnabledButtons(NewState:TNavigateBtnSet);
  392.          FUNCTION GetButton(Index:TNavigateBtn):TBitBtn;
  393.          FUNCTION GetDataSource:TDataSource;
  394.          PROCEDURE SetDataSource(NewValue:TDataSource);
  395.          PROCEDURE EvButtonClick(Sender:TObject);
  396.       PROTECTED
  397.          PROCEDURE CommandEvent(VAR Msg:TWMCommand;VAR Command:TCommand);OVERRIDE;
  398.          PROCEDURE SetupComponent;OVERRIDE;
  399.          PROCEDURE CreateWnd;OVERRIDE;
  400.          PROCEDURE RealignControls;OVERRIDE;
  401.          PROPERTY Buttons[Index:TNavigateBtn]:TBitBtn read GetButton;
  402.          PROPERTY Hint;
  403.          PROPERTY Cursor;
  404.       PUBLIC
  405.          DESTRUCTOR Destroy;OVERRIDE;
  406.          PROPERTY XAlign;
  407.          PROPERTY XStretch;
  408.          PROPERTY YAlign;
  409.          PROPERTY YStretch;
  410.       PUBLISHED
  411.          PROPERTY Align;
  412.          PROPERTY DataSource:TDataSource read GetDataSource write SetDataSource;
  413.          PROPERTY DragCursor;
  414.          PROPERTY DragMode;
  415.          PROPERTY Enabled;
  416.          PROPERTY EnabledButtons:TNavigateBtnSet read FEnabledButtons write SetEnabledButtons;
  417.          PROPERTY ParentShowHint;
  418.          PROPERTY ShowHint;
  419.          PROPERTY TabOrder;
  420.          PROPERTY TabStop;
  421.          PROPERTY Visible;
  422.          PROPERTY VisibleButtons:TNavigateBtnSet read FVisibleButtons write SetVisibleButtons;
  423.          PROPERTY ZOrder;
  424.  
  425.          PROPERTY OnCanDrag;
  426.          PROPERTY OnClick:TNavClick read FOnNavClick write FOnNavClick;
  427.          PROPERTY OnDragDrop;
  428.          PROPERTY OnDragOver;
  429.          PROPERTY OnEndDrag;
  430.          PROPERTY OnEnter;
  431.          PROPERTY OnExit;
  432.          PROPERTY OnMouseMove;
  433.          PROPERTY OnResize;
  434.          PROPERTY OnSetupShow;
  435.          PROPERTY OnStartDrag;
  436.     END;
  437.  
  438.  
  439. IMPLEMENTATION
  440.  
  441.