home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
sibylft1.zip
/
DOC.DAT
/
DOC
/
SPCC
/
EXTCTRLS.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1997-04-08
|
12KB
|
369 lines
{╔══════════════════════════════════════════════════════════════════════════╗
║ ║
║ Sibyl Portable Component Classes ║
║ ║
║ Copyright (c) 1995,97 SpeedSoft Germany, All rights reserved. ║
║ ║
╚══════════════════════════════════════════════════════════════════════════╝}
UNIT ExtCtrls;
INTERFACE
USES SysUtils,Classes,Forms,Graphics,Buttons,StdCtrls;
TYPE
TShapeType=(stRectangle,stSquare,stRoundRect,stRoundSquare,
stEllipse,stCircle,stTriangle);
TShape=CLASS(TControl)
PRIVATE
FPen:TPen;
FBrush:TBrush;
FShape:TShapeType;
PROCEDURE SetShape(NewShape:TShapeType);
PROTECTED
PROCEDURE SetupComponent;OVERRIDE;
PROCEDURE SetupShow;OVERRIDE;
PROPERTY Canvas;
PUBLIC
PROCEDURE Redraw(CONST rec:TRect);OVERRIDE;
PROPERTY XAlign;
PROPERTY XStretch;
PROPERTY YAlign;
PROPERTY YStretch;
PUBLISHED
PROPERTY Align;
PROPERTY Brush:TBrush read FBrush;
PROPERTY DragCursor;
PROPERTY DragMode;
PROPERTY Enabled;
PROPERTY ParentShowHint;
PROPERTY Pen:TPen read FPen;
PROPERTY Shape:TShapeType read FShape write SetShape;
PROPERTY ShowHint;
PROPERTY Visible;
PROPERTY ZOrder;
PROPERTY OnCanDrag;
PROPERTY OnDragDrop;
PROPERTY OnDragOver;
PROPERTY OnEndDrag;
PROPERTY OnMouseClick;
PROPERTY OnMouseDblClick;
PROPERTY OnMouseDown;
PROPERTY OnMouseMove;
PROPERTY OnMouseUp;
PROPERTY OnSetupShow;
PROPERTY OnStartDrag;
END;
TPaintBox=CLASS(TControl)
PROTECTED
PROCEDURE SetupComponent;OVERRIDE;
PUBLIC
PROCEDURE Redraw(CONST rec:TRect);OVERRIDE;
PROPERTY XAlign;
PROPERTY XStretch;
PROPERTY YAlign;
PROPERTY YStretch;
PUBLISHED
PROPERTY Align;
PROPERTY Color;
PROPERTY PenColor;
PROPERTY DragCursor;
PROPERTY DragMode;
PROPERTY Enabled;
PROPERTY Font;
PROPERTY ParentColor;
PROPERTY ParentPenColor;
PROPERTY ParentFont;
PROPERTY ParentShowHint;
PROPERTY ShowHint;
PROPERTY Visible;
PROPERTY ZOrder;
PROPERTY OnCanDrag;
{Rene}
PROPERTY OnDblClick;
PROPERTY OnDragDrop;
PROPERTY OnDragOver;
PROPERTY OnEndDrag;
PROPERTY OnFontChange;
PROPERTY OnMouseClick;
PROPERTY OnMouseDblClick;
PROPERTY OnMouseDown;
PROPERTY OnMouseMove;
PROPERTY OnMouseUp;
PROPERTY OnPaint;
PROPERTY OnSetupShow;
PROPERTY OnStartDrag;
END;
TImage=CLASS(TControl)
PRIVATE
FBitmap:TBitmap;
FNeedBitmap:BOOLEAN;
FAutoSize:BOOLEAN;
FStretch:BOOLEAN;
FCenter:BOOLEAN;
PROCEDURE SetStretch(NewValue:BOOLEAN);
PROCEDURE SetCenter(NewValue:BOOLEAN);
PROCEDURE SetBitmap(NewBitmap:TBitmap);
FUNCTION GetBitmap:TBitmap;
PROTECTED
PROCEDURE SetupComponent;OVERRIDE;
PROCEDURE SetupShow;OVERRIDE;
PROCEDURE MouseDown(Button:TMouseButton;ShiftState:TShiftState;X,Y:LONGINT);OVERRIDE;
PROPERTY NeedBitmap:BOOLEAN read FNeedBitmap write FNeedBitmap;
PUBLIC
DESTRUCTOR Destroy;OVERRIDE;
PROCEDURE Redraw(CONST rec:TRect);OVERRIDE;
PROCEDURE ReadSCUResource(CONST ResName:TResourceName;VAR Data;DataLen:LONGINT);OVERRIDE;
FUNCTION WriteSCUResource(Stream:TResourceStream):BOOLEAN;OVERRIDE;
PROPERTY XAlign;
PROPERTY XStretch;
PROPERTY YAlign;
PROPERTY YStretch;
PUBLISHED
PROPERTY Align;
PROPERTY AutoSize:BOOLEAN read FAutoSize write FAutoSize;
PROPERTY Center:BOOLEAN read FCenter write SetCenter;
PROPERTY DragCursor;
PROPERTY DragMode;
PROPERTY Enabled;
PROPERTY ParentShowHint;
PROPERTY Picture:TBitmap read GetBitmap write SetBitmap;
{Rene}
PROPERTY PopupMenu;
PROPERTY ShowHint;
PROPERTY Stretch:BOOLEAN read FStretch write SetStretch;
PROPERTY Visible;
PROPERTY ZOrder;
PROPERTY OnCanDrag;
{Rene}
PROPERTY OnDblClick;
PROPERTY OnDragDrop;
PROPERTY OnDragOver;
PROPERTY OnEndDrag;
PROPERTY OnMouseClick;
PROPERTY OnMouseDblClick;
PROPERTY OnMouseDown;
PROPERTY OnMouseMove;
PROPERTY OnMouseUp;
PROPERTY OnSetupShow;
PROPERTY OnStartDrag;
END;
{$M+}
TBevelShape=(bsBottomLine,bsBox,bsFrame,bsLeftLine,bsRightLine,bsTopLine,
bsBorder);
TBevelStyle=(bsLowered,bsRaised);
{$M-}
TBevel=CLASS(TControl)
PRIVATE
FShape:TBevelShape;
FStyle:TBevelStyle;
PROCEDURE SetShape(NewShape:TBevelShape);
PROCEDURE SetStyle(NewStyle:TBevelStyle);
PROTECTED
PROCEDURE SetupComponent;OVERRIDE;
PROCEDURE MouseDown(Button:TMouseButton;ShiftState:TShiftState;X,Y:LONGINT);OVERRIDE;
PUBLIC
PROCEDURE Redraw(CONST rec:TRect);OVERRIDE;
PROPERTY XAlign;
PROPERTY XStretch;
PROPERTY YAlign;
PROPERTY YStretch;
PUBLISHED
PROPERTY Align;
PROPERTY ParentShowHint;
{Rene}
PROPERTY PopupMenu;
PROPERTY Shape:TBevelShape read FShape write SetShape;
PROPERTY ShowHint;
PROPERTY Style:TBevelStyle read FStyle write SetStyle;
PROPERTY Visible;
PROPERTY ZOrder;
PROPERTY OnCommand;
PROPERTY OnResize;
PROPERTY OnSetupShow;
END;
{$M+}
TPanelBevel=(bvRaised,bvLowered,bvNone);
{$M-}
TPanel=CLASS(TControl)
PRIVATE
FBevelInner:TPanelBevel;
FBevelOuter:TPanelBevel;
FBevelWidth:LONGINT;
FBorderStyle:TBorderStyle;
FBorderWidth:LONGINT;
FAlignment:TAlignment;
FInterior:TRect;
FOnClick:TNotifyEvent;
PROCEDURE CMTextChanged(VAR Msg:TMessage); message CM_TEXTCHANGED;
PROCEDURE SetBevelInner(NewBevel:TPanelBevel);
PROCEDURE SetBevelOuter(NewBevel:TPanelBevel);
PROCEDURE SetBevelWidth(NewWidth:LONGINT);
PROCEDURE SetBorderStyle(NewStyle:TBorderStyle);
PROCEDURE SetBorderWidth(NewWidth:LONGINT);
PROCEDURE SetAlignment(ta:TAlignment);
PROTECTED
PROCEDURE SetupComponent;OVERRIDE;
PROCEDURE MouseClick(Button:TMouseButton;ShiftState:TShiftState;X,Y:LONGINT);OVERRIDE;
PROCEDURE MouseDown(Button:TMouseButton;ShiftState:TShiftState;X,Y:LONGINT);OVERRIDE;
PROCEDURE DrawText(CONST rec:TRect);VIRTUAL;
PUBLIC
PROCEDURE Redraw(CONST rec:TRect);OVERRIDE;
PROPERTY XAlign;
PROPERTY XStretch;
PROPERTY YAlign;
PROPERTY YStretch;
PUBLISHED
PROPERTY Align;
PROPERTY Alignment:TAlignment read FAlignment write SetAlignment;
PROPERTY Color;
PROPERTY BevelInner:TPanelBevel read FBevelInner write SetBevelInner;
PROPERTY BevelOuter:TPanelBevel read FBevelOuter write SetBevelOuter;
PROPERTY BevelWidth:LONGINT read FBevelWidth write SetBevelWidth;
PROPERTY BorderStyle:TBorderStyle read FBorderStyle write SetBorderStyle;
PROPERTY BorderWidth:LONGINT read FBorderWidth write SetBorderWidth;
PROPERTY Caption;
PROPERTY PenColor;
PROPERTY DragCursor;
PROPERTY DragMode;
PROPERTY Enabled;
PROPERTY Font;
PROPERTY ParentColor;
PROPERTY ParentPenColor;
PROPERTY ParentFont;
PROPERTY ParentShowHint;
{Rene}
PROPERTY PopupMenu;
PROPERTY ShowHint;
PROPERTY TabOrder;
PROPERTY TabStop;
PROPERTY Visible;
PROPERTY ZOrder;
PROPERTY OnCanDrag;
PROPERTY OnClick:TNotifyEvent read FOnClick write FOnClick;
PROPERTY OnCommand;
{Rene}
PROPERTY OnDblClick;
PROPERTY OnDragDrop;
PROPERTY OnDragOver;
PROPERTY OnEndDrag;
PROPERTY OnFontChange;
PROPERTY OnMouseClick;
PROPERTY OnMouseDblClick;
PROPERTY OnMouseDown;
PROPERTY OnMouseMove;
PROPERTY OnMouseUp;
PROPERTY OnPaint;
PROPERTY OnResize;
PROPERTY OnSetupShow;
PROPERTY OnStartDrag;
END;
TRadioGroup=CLASS(TGroupBox)
PRIVATE
FItems:TStrings;
FRadios:TList;
FItemIndex:LONGINT;
FColumns:LONGINT;
{Rene}
//FOnClick:TNotifyEvent;
PROCEDURE SetItemIndex(Value:LONGINT);
PROCEDURE SetColumns(Value:LONGINT);
PROCEDURE SetItems(Value:TStrings);
PROCEDURE SetRadioCount(Value:LONGINT);
FUNCTION GetItemsEnabled(Index:LONGINT):BOOLEAN;
PROCEDURE SetItemsEnabled(Index:LONGINT;Value:BOOLEAN);
PROCEDURE UpdateRadios;
PROCEDURE ArrangeRadios;
PROCEDURE EvItemsChange(Sender:TObject);
PROCEDURE EvRadioClick(Sender:TObject);
PROTECTED
PROCEDURE SetupComponent;OVERRIDE;
PROCEDURE SetupShow;OVERRIDE;
PROCEDURE Resize;OVERRIDE;
PROCEDURE FontChange;OVERRIDE;
PROCEDURE Click;VIRTUAL;
PROCEDURE ItemIndexChange;VIRTUAL;
PUBLIC
DESTRUCTOR Destroy;OVERRIDE;
PROCEDURE ReadSCUResource(CONST ResName:TResourceName;VAR Data;DataLen:LONGINT);OVERRIDE;
FUNCTION WriteSCUResource(Stream:TResourceStream):BOOLEAN;OVERRIDE;
PROPERTY ItemsEnabled[Index:LONGINT]:BOOLEAN read GetItemsEnabled write SetItemsEnabled;
PROPERTY XAlign;
PROPERTY XStretch;
PROPERTY YAlign;
PROPERTY YStretch;
PUBLISHED
PROPERTY Align;
PROPERTY Color;
PROPERTY Caption;
PROPERTY PenColor;
PROPERTY Columns:LONGINT read FColumns write SetColumns;
PROPERTY DragCursor;
PROPERTY DragMode;
PROPERTY Enabled;
PROPERTY Font;
PROPERTY ItemIndex:LONGINT read FItemIndex write SetItemIndex;
PROPERTY Items:TStrings read FItems write SetItems;
PROPERTY ParentColor;
PROPERTY ParentPenColor;
PROPERTY ParentFont;
PROPERTY ParentShowHint;
PROPERTY ShowHint;
PROPERTY TabOrder;
PROPERTY TabStop;
PROPERTY Visible;
PROPERTY ZOrder;
PROPERTY OnCanDrag;
{Rene}
//PROPERTY OnClick:TNotifyEvent read FOnClick write FOnClick;
PROPERTY OnDragDrop;
PROPERTY OnDragOver;
PROPERTY OnEndDrag;
PROPERTY OnEnter;
PROPERTY OnExit;
PROPERTY OnFontChange;
PROPERTY OnSetupShow;
PROPERTY OnStartDrag;
END;
FUNCTION InsertShape(Parent:TControl;Left,Bottom,Width,Height:LONGINT):TShape;
FUNCTION InsertImage(Parent:TControl;Left,Bottom,Width,Height:LONGINT;
BitmapId:LONGWORD):TImage;
FUNCTION InsertBevel(Parent:TControl;Left,Bottom,Width,Height:LONGINT;
Shape:TBevelShape;Style:TBevelStyle):TBevel;
FUNCTION InsertPanel(Parent:TControl;Left,Bottom,Width,Height:LONGINT;
BevelInner:TPanelBevel;BevelOuter:TPanelBevel;BevelWidth:LONGINT;
Caption:STRING):TPanel;
FUNCTION InsertRadioGroup(Parent:TControl;Left,Bottom,Width,Height:LONGINT;
Caption:STRING):TRadioGroup;
IMPLEMENTATION