home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
sibylft1.zip
/
DOC.DAT
/
DOC
/
SPCC
/
STDCTRLS.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1997-04-08
|
33KB
|
818 lines
{╔══════════════════════════════════════════════════════════════════════════╗
║ ║
║ Sibyl Portable Component Classes ║
║ ║
║ Copyright (c) 1995,97 SpeedSoft Germany, All rights reserved. ║
║ ║
╚══════════════════════════════════════════════════════════════════════════╝}
UNIT StdCtrls;
INTERFACE
{$IFDEF OS2}
USES Os2Def,BseDos,PmWin,PmGpi,PmDev,PmStdDlg;
{$ENDIF}
{$IFDEF Win95}
USES WinDef,WinBase,WinNT,WinUser,WinGDI,CommCtrl;
{$ENDIF}
USES Dos,SysUtils,Classes,Forms,Graphics,Buttons;
TYPE
TGroupBox=CLASS(TControl)
PRIVATE
FOnClick:TNotifyEvent;
PROCEDURE CMTextChanged(VAR Msg:TMessage);message CM_TEXTCHANGED;
PROTECTED
PROCEDURE SetupComponent;OVERRIDE;
PROCEDURE MouseClick(Button:TMouseButton;ShiftState:TShiftState;X,Y:LONGINT);OVERRIDE;
PROCEDURE MouseDown(Button:TMouseButton;ShiftState:TShiftState;X,Y:LONGINT);OVERRIDE;
FUNCTION EvaluateShortCut(KeyCode:TKeyCode):BOOLEAN;OVERRIDE;
PUBLIC
PROCEDURE Redraw(CONST rec:TRect);OVERRIDE;
PROPERTY XAlign;
PROPERTY XStretch;
PROPERTY YAlign;
PROPERTY YStretch;
PUBLISHED
PROPERTY Align;
PROPERTY Color;
PROPERTY Caption;
PROPERTY PenColor;
PROPERTY DragCursor;
PROPERTY DragMode;
PROPERTY Enabled;
PROPERTY Font;
PROPERTY ParentColor;
PROPERTY ParentPenColor;
PROPERTY ParentFont;
PROPERTY ParentShowHint;
PROPERTY PopupMenu;
PROPERTY ShowHint;
PROPERTY TabOrder;
PROPERTY TabStop;
PROPERTY Visible;
PROPERTY ZOrder;
PROPERTY OnCanDrag;
PROPERTY OnClick:TNotifyEvent read FOnClick write FOnClick;
PROPERTY OnCommand;
PROPERTY OnDblClick;
PROPERTY OnDragDrop;
PROPERTY OnDragOver;
PROPERTY OnEndDrag;
PROPERTY OnEnter;
PROPERTY OnExit;
PROPERTY OnFontChange;
PROPERTY OnMouseClick;
PROPERTY OnMouseDblClick;
PROPERTY OnMouseDown;
PROPERTY OnMouseMove;
PROPERTY OnMouseUp;
PROPERTY OnResize;
PROPERTY OnSetupShow;
PROPERTY OnStartDrag;
END;
TLabel=CLASS(TControl)
PRIVATE
RemoveAccel:BOOLEAN;
FAutoSize:BOOLEAN;
FAlignment:TAlignment;
FWordWrap:BOOLEAN;
FRows:INTEGER;
FFocusControl:TControl;
FShowAccelChar:BOOLEAN;
FOnClick:TNotifyEvent;
PROCEDURE CMTextChanged(VAR Msg:TMessage);message CM_TEXTCHANGED;
PROCEDURE SetAutoSize(Value:BOOLEAN);
PROCEDURE SetAlignment(Value:TAlignment);
PROCEDURE SetWordWrap(Value:BOOLEAN);
PROCEDURE SetAccelChar(Value:BOOLEAN);
PROCEDURE SetFocusControl(Value:TControl);
FUNCTION GetRows:INTEGER;
PROCEDURE DoDrawLine(CONST s:STRING; VAR row:INTEGER);
PROTECTED
PROCEDURE SetupComponent;OVERRIDE;
PROCEDURE SetupShow;OVERRIDE;
PROCEDURE MouseClick(Button:TMouseButton;ShiftState:TShiftState;X,Y:LONGINT);OVERRIDE;
PROCEDURE MouseDown(Button:TMouseButton;ShiftState:TShiftState;X,Y:LONGINT);OVERRIDE;
PROCEDURE Notification(AComponent:TComponent;Operation:TOperation);OVERRIDE;
FUNCTION EvaluateShortCut(KeyCode:TKeyCode):BOOLEAN;OVERRIDE;
PUBLIC
PROCEDURE Redraw(CONST rec:TRect);OVERRIDE;
PROPERTY Rows:INTEGER read GetRows;
PROPERTY XAlign;
PROPERTY XStretch;
PROPERTY YAlign;
PROPERTY YStretch;
PUBLISHED
PROPERTY Align;
PROPERTY Alignment:TAlignment read FAlignment write SetAlignment;
PROPERTY AutoSize:BOOLEAN read FAutoSize write SetAutoSize;
PROPERTY Color;
PROPERTY Caption;
PROPERTY PenColor;
PROPERTY DragCursor;
PROPERTY DragMode;
PROPERTY Enabled;
PROPERTY FocusControl:TControl read FFocusControl write SetFocusControl;
PROPERTY Font;
PROPERTY ParentColor;
PROPERTY ParentPenColor;
PROPERTY ParentFont;
PROPERTY ParentShowHint;
PROPERTY PopupMenu;
PROPERTY ShowAccelChar:BOOLEAN read FShowAccelChar write SetAccelChar;
PROPERTY ShowHint;
PROPERTY Visible;
PROPERTY WordWrap:BOOLEAN read FWordWrap write SetWordWrap;
PROPERTY ZOrder;
PROPERTY OnCanDrag;
PROPERTY OnClick:TNotifyEvent read FOnClick write FOnClick;
PROPERTY OnCommand;
PROPERTY OnDblClick;
PROPERTY OnDragDrop;
PROPERTY OnDragOver;
PROPERTY OnEndDrag;
PROPERTY OnEnter;
PROPERTY OnExit;
PROPERTY OnFontChange;
PROPERTY OnMouseClick;
PROPERTY OnMouseDblClick;
PROPERTY OnMouseDown;
PROPERTY OnMouseMove;
PROPERTY OnMouseUp;
PROPERTY OnResize;
PROPERTY OnSetupShow;
PROPERTY OnStartDrag;
END;
EMemoIndexError=CLASS(Exception);
TMemo=CLASS(TControl)
PRIVATE
FLines:TStrings;
FInitLines:TStringList;
FScrollBars:TScrollStyle;
FBorderStyle:TBorderStyle;
FWordWrap:BOOLEAN;
FReadOnly:BOOLEAN;
FWantTabs:BOOLEAN;
FModified:BOOLEAN;
FOnChange:TNotifyEvent;
FUNCTION GetLines:TStrings;
PROCEDURE SetLines(AStrings:TStrings);
PROCEDURE SetScrollBars(NewValue:TScrollStyle);
PROCEDURE SetBorderStyle(NewBorder:TBorderStyle);
PROCEDURE SetWordWrap(Value:BOOLEAN);
PROCEDURE SetReadOnly(Value:BOOLEAN);
PROCEDURE SetWantTabs(Value:BOOLEAN);
{$IFDEF Win95}
PROCEDURE WMGetDlgCode(VAR Msg:TMessage); message WM_GETDLGCODE;
{$ENDIF}
PROTECTED
PROCEDURE CreateParams(VAR Params:TCreateParams);OVERRIDE;
PROCEDURE GetClassData(VAR ClassData:TClassData);OVERRIDE;
PROCEDURE SetupComponent;OVERRIDE;
PROCEDURE SetupShow;OVERRIDE;
PROCEDURE DestroyWnd;OVERRIDE;
PROCEDURE ParentNotification(VAR Msg:TMessage);OVERRIDE;
PROCEDURE CharEvent(VAR Key:CHAR;RepeatCount:BYTE);OVERRIDE;
PROCEDURE ScanEvent(VAR KeyCode:TKeyCode;RepeatCount:BYTE);OVERRIDE;
PROCEDURE Resize;OVERRIDE;
PROCEDURE Changed;VIRTUAL;
PUBLIC
DESTRUCTOR Destroy;OVERRIDE;
PROCEDURE Clear;
FUNCTION WriteSCUResource(Stream:TResourceStream):BOOLEAN;OVERRIDE;
PROCEDURE ReadSCUResource(CONST ResName:TResourceName;VAR Data;DataLen:LONGINT);OVERRIDE;
PROPERTY Modified:BOOLEAN read FModified write FModified;
PROPERTY XAlign;
PROPERTY XStretch;
PROPERTY YAlign;
PROPERTY YStretch;
PUBLISHED
PROPERTY Align;
PROPERTY Color;
PROPERTY BorderStyle:TBorderStyle read FBorderStyle write SetBorderStyle;
PROPERTY PenColor;
PROPERTY DragCursor;
PROPERTY DragMode;
PROPERTY Enabled;
PROPERTY Font;
PROPERTY Lines:TStrings read GetLines write SetLines;
PROPERTY ParentColor;
PROPERTY ParentPenColor;
PROPERTY ParentFont;
PROPERTY ParentShowHint;
PROPERTY PopupMenu;
PROPERTY ReadOnly:BOOLEAN read FReadOnly write SetReadOnly;
PROPERTY ScrollBars:TScrollStyle read FScrollBars write SetScrollBars;
PROPERTY ShowHint;
PROPERTY TabOrder;
PROPERTY TabStop;
PROPERTY Visible;
PROPERTY WantTabs:BOOLEAN read FWantTabs write SetWantTabs;
PROPERTY WordWrap:BOOLEAN read FWordWrap write SetWordWrap;
PROPERTY ZOrder;
PROPERTY OnCanDrag;
PROPERTY OnChange:TNotifyEvent read FOnChange write FOnChange;
PROPERTY OnDblClick;
PROPERTY OnDragDrop;
PROPERTY OnDragOver;
PROPERTY OnEndDrag;
PROPERTY OnEnter;
PROPERTY OnExit;
PROPERTY OnFontChange;
PROPERTY OnKeyPress;
PROPERTY OnMouseClick;
PROPERTY OnMouseDblClick;
PROPERTY OnMouseDown;
PROPERTY OnMouseMove;
PROPERTY OnMouseUp;
PROPERTY OnScan;
PROPERTY OnSetupShow;
PROPERTY OnStartDrag;
END;
{$M+}
TEditCharCase = (ecNormal,ecUpperCase,ecLowerCase);
{$M-}
TEdit=CLASS(TControl)
PRIVATE
FMaxLength:LONGINT;
FAlignment:TAlignment;
FUnreadable:BOOLEAN;
FModified:BOOLEAN;
FAutoSize:BOOLEAN;
FAutoScroll:BOOLEAN;
FAutoSelect:BOOLEAN;
FExtension:PSTRING;
FBorderStyle:TBorderStyle;
FInsertMode:BOOLEAN;
FReadOnly:BOOLEAN;
FCharCase:TEditCharCase;
FSelStart:LONGINT;
FSelLen:LONGINT;
FTempCaption:PSTRING;
FNumbersOnly:BOOLEAN;
FOnChange:TNotifyEvent;
PROCEDURE SetMaxLength(Value:LONGINT);
PROCEDURE SetUnreadable(Value:BOOLEAN);
PROCEDURE SetBorderStyle(Value:TBorderStyle);
PROCEDURE SetAutoSize(Value:BOOLEAN);
PROCEDURE SetAlignment(Value:TAlignment);
PROCEDURE SetAutoScroll(Value:BOOLEAN);
PROCEDURE SetSelStart(x:LONGINT);
FUNCTION GetSelStart:LONGINT;
PROCEDURE SetSelLength(x:LONGINT);
FUNCTION GetSelLength:LONGINT;
FUNCTION GetSelText:STRING;
PROCEDURE SetSelText(CONST Value:STRING);
PROCEDURE SetExtension(CONST Value:STRING);
FUNCTION GetExtension:STRING;
PROCEDURE SetReadOnly(Value:BOOLEAN);
PROCEDURE SetInsertMode(Value:BOOLEAN);
PROCEDURE SetCharCase(Value:TEditCharCase);
PROCEDURE AdjustHeight;VIRTUAL;
PROCEDURE SetSelection(Start,Len:LONGINT);
PROTECTED
PROCEDURE SetupComponent;OVERRIDE;
PROCEDURE GetClassData(VAR ClassData:TClassData);OVERRIDE;
PROCEDURE CreateParams(VAR Params:TCreateParams);OVERRIDE;
PROCEDURE UpdateWindowPos(NewLeft,NewBottom,NewWidth,NewHeight:LONGINT);OVERRIDE;
PROCEDURE CreateWnd;OVERRIDE;
PROCEDURE SetupShow;OVERRIDE;
PROCEDURE DestroyWnd;OVERRIDE;
PROCEDURE CharEvent(VAR Key:CHAR;RepeatCount:BYTE);OVERRIDE;
PROCEDURE ScanEvent(VAR KeyCode:TKeyCode;RepeatCount:BYTE);OVERRIDE;
PROCEDURE ParentNotification(VAR Msg:TMessage);OVERRIDE;
PROCEDURE FontChange;OVERRIDE;
PROCEDURE Change;VIRTUAL;
PUBLIC
DESTRUCTOR Destroy;OVERRIDE;
PROCEDURE SelectAll;
PROCEDURE Clear;
PROCEDURE ClearSelection;
PROCEDURE DeleteSelection;
PROCEDURE CutToClipBoard;
PROCEDURE CopyToClipBoard;
PROCEDURE PasteFromClipBoard;
PROPERTY Modified:BOOLEAN read FModified write FModified;
PROPERTY SelStart:LONGINT read GetSelStart write SetSelStart;
PROPERTY SelLength:LONGINT read GetSelLength write SetSelLength;
PROPERTY SelText:STRING read GetSelText write SetSelText;
PROPERTY XAlign;
PROPERTY XStretch;
PROPERTY YAlign;
PROPERTY YStretch;
PUBLISHED
PROPERTY Align;
PROPERTY Alignment:TAlignment read FAlignment write SetAlignment;
PROPERTY AutoScroll:BOOLEAN read FAutoScroll write SetAutoScroll;
PROPERTY AutoSelect:BOOLEAN read FAutoSelect write FAutoSelect;
PROPERTY AutoSize:BOOLEAN read FAutoSize write SetAutoSize;
PROPERTY Color;
PROPERTY BorderStyle:TBorderStyle read FBorderStyle write SetBorderStyle;
PROPERTY CharCase:TEditCharCase read FCharCase write SetCharCase;
PROPERTY PenColor;
PROPERTY DragCursor;
PROPERTY DragMode;
PROPERTY Enabled;
PROPERTY Font;
PROPERTY InsertMode:BOOLEAN read FInsertMode write SetInsertMode;
PROPERTY MaxLength:LONGINT read FMaxLength write SetMaxLength;
PROPERTY NumbersOnly:BOOLEAN read FNumbersOnly write FNumbersOnly;
PROPERTY ParentColor;
PROPERTY ParentPenColor;
PROPERTY ParentFont;
PROPERTY ParentShowHint;
PROPERTY PopupMenu;
PROPERTY ReadOnly:BOOLEAN read FReadOnly write SetReadOnly;
PROPERTY ShowHint;
PROPERTY TabOrder;
PROPERTY TabStop;
PROPERTY Text;
PROPERTY TextExtension:STRING read GetExtension write SetExtension;
PROPERTY Unreadable:BOOLEAN read FUnreadable write SetUnreadable;
PROPERTY Visible;
PROPERTY ZOrder;
PROPERTY OnCanDrag;
PROPERTY OnChange:TNotifyEvent read FOnChange write FOnChange;
PROPERTY OnDblClick;
PROPERTY OnDragDrop;
PROPERTY OnDragOver;
PROPERTY OnEndDrag;
PROPERTY OnEnter;
PROPERTY OnExit;
PROPERTY OnFontChange;
PROPERTY OnKeyPress;
PROPERTY OnMouseClick;
PROPERTY OnMouseDblClick;
PROPERTY OnMouseDown;
PROPERTY OnMouseMove;
PROPERTY OnMouseUp;
PROPERTY OnResize;
PROPERTY OnScan;
PROPERTY OnSetupShow;
PROPERTY OnStartDrag;
END;
TComboBox=CLASS;
EListBoxIndexError=CLASS(Exception);
{$M+}
TListBoxStyle=(lbStandard,lbOwnerDrawFixed);
TOwnerDrawState=SET OF (odSelected{,odGrayed,odDisabled,odChecked,odFocused});
TItemFocusEvent=PROCEDURE(Sender:TObject;Index:LONGINT) OF OBJECT;
TItemSelectEvent=PROCEDURE(Sender:TObject;Index:LONGINT) OF OBJECT;
TListBoxMeasureItemEvent=PROCEDURE(Sender:TObject;Index:LONGINT;
VAR Width,Height:LONGINT) OF OBJECT;
TListBoxDrawItemEvent=PROCEDURE(Sender:TObject;Index:LONGINT;
Rec:TRect;State:TOwnerDrawState) OF OBJECT;
{$M-}
TListBox=CLASS(TControl)
PRIVATE
FDragging:BOOLEAN;
FComboEdit:TEdit;
FComboBox:TComboBox;
FItems:TStrings;
FInitItems:TStringList;
FInitItemIndex:LONGINT;
FInitTopIndex:LONGINT;
FStyle:TListBoxStyle;
FIntegralHeight:BOOLEAN;
FHorzScroll:BOOLEAN;
FMultiSelect:BOOLEAN;
FExtendedSelect:BOOLEAN;
FSorted:BOOLEAN;
FItemHeight:LONGINT;
FDuplicates:BOOLEAN; {only for add}
FUpdateCount:LONGINT;
FDragSelected:LONGINT;
FDragRectValid:BOOLEAN;
FDragRect:TRect;
FShowDragRects:BOOLEAN;
FEnableWindowUpdate:BOOLEAN;
FSelectListCount:LONGINT;
FSelectList:POINTER;
FLastFocusItem:LONGINT;
FOnItemFocus:TItemFocusEvent;
FOnItemSelect:TItemSelectEvent;
FOnMeasureItem:TListBoxMeasureItemEvent;
FOnDrawItem:TListBoxDrawItemEvent;
FOnClick:TNotifyEvent;
PROCEDURE SetIntegralHeight(Value:BOOLEAN);
PROCEDURE SetHorzScroll(Value:BOOLEAN);
PROCEDURE SetMultiSelect(Value:BOOLEAN);
PROCEDURE SetExtendedSelect(Value:BOOLEAN);
PROCEDURE SetSorted(Value:BOOLEAN);
PROCEDURE SetStyle(NewStyle:TListBoxStyle);
FUNCTION GetItems:TStrings;
PROCEDURE SetItems(AStrings:TStrings);
FUNCTION GetItemIndex:LONGINT;
PROCEDURE SetItemIndex(Value:LONGINT);
FUNCTION GetSelCount:LONGINT;
FUNCTION GetSelect(Index:LONGINT):BOOLEAN;
PROCEDURE SetSelect(Index:LONGINT;Value:BOOLEAN);
FUNCTION GetTopIndex:LONGINT;
PROCEDURE SetTopIndex(Index:LONGINT);
FUNCTION GetItemHeight:LONGINT;
PROCEDURE DrawDragRect;
PROCEDURE BuildSelectList;
FUNCTION GetSelectItem:LONGINT;
PROTECTED
PROCEDURE CreateParams(VAR Params:TCreateParams);OVERRIDE;
PROCEDURE GetClassData(VAR ClassData:TClassData);OVERRIDE;
PROCEDURE SetupComponent;OVERRIDE;
PROCEDURE SetupShow;OVERRIDE;
PROCEDURE DestroyWnd;OVERRIDE;
PROCEDURE CharEvent(VAR Key:CHAR;RepeatCount:BYTE);OVERRIDE;
PROCEDURE ScanEvent(VAR KeyCode:TKeyCode;RepeatCount:BYTE);OVERRIDE;
PROCEDURE MouseClick(Button:TMouseButton;ShiftState:TShiftState;X,Y:LONGINT);OVERRIDE;
PROCEDURE MouseDown(Button:TMouseButton;ShiftState:TShiftState;X,Y:LONGINT);OVERRIDE;
PROCEDURE MouseUp(Button:TMouseButton;ShiftState:TShiftState;X,Y:LONGINT);OVERRIDE;
PROCEDURE ParentNotification(VAR Msg:TMessage);OVERRIDE;
PROCEDURE ItemFocus(Index:LONGINT);VIRTUAL;
PROCEDURE ItemSelect(Index:LONGINT);VIRTUAL;
PROCEDURE MeasureItem(Index:LONGINT;VAR Width,Height:LONGINT);VIRTUAL;
PROCEDURE DrawItem(Index:LONGINT;Rec:TRect;State:TOwnerDrawState);VIRTUAL;
PROCEDURE DragOver(Source:TObject;X,Y:LONGINT;State:TDragState;
VAR Accept:BOOLEAN);OVERRIDE;
PROCEDURE DragDrop(Source:TObject;X,Y:LONGINT);OVERRIDE;
PUBLIC
DESTRUCTOR Destroy;OVERRIDE;
PROCEDURE Show;OVERRIDE;
PROCEDURE Clear;VIRTUAL;
PROCEDURE BeginUpdate;
PROCEDURE EndUpdate;
FUNCTION ItemAtPos(pos:TPoint;Existing:BOOLEAN):LONGINT;
FUNCTION ItemRect(Index:LONGINT):TRect;
FUNCTION WriteSCUResource(Stream:TResourceStream):BOOLEAN;OVERRIDE;
PROCEDURE ReadSCUResource(CONST ResName:TResourceName;VAR Data;DataLen:LONGINT);OVERRIDE;
PROPERTY ItemIndex:LONGINT read GetItemIndex write SetItemIndex;
PROPERTY SelCount:LONGINT read GetSelCount;
PROPERTY Selected[Index:LONGINT]:BOOLEAN read GetSelect write SetSelect;
PROPERTY TopIndex:LONGINT read GetTopIndex write SetTopIndex;
PROPERTY XAlign;
PROPERTY XStretch;
PROPERTY YAlign;
PROPERTY YStretch;
PUBLISHED
PROPERTY Align;
PROPERTY Color;
PROPERTY PenColor;
PROPERTY DragCursor;
PROPERTY DragMode;
PROPERTY Duplicates:BOOLEAN read FDuplicates write FDuplicates;
PROPERTY Enabled;
PROPERTY ExtendedSelect:BOOLEAN read FExtendedSelect write SetExtendedSelect;
PROPERTY Font;
PROPERTY HorzScroll:BOOLEAN read FHorzScroll write SetHorzScroll;
PROPERTY IntegralHeight:BOOLEAN read FIntegralHeight write SetIntegralHeight;
PROPERTY ItemHeight:LONGINT read GetItemHeight write FItemHeight;
PROPERTY Items:TStrings read GetItems write SetItems;
PROPERTY MultiSelect:BOOLEAN read FMultiSelect write SetMultiSelect;
PROPERTY ParentColor;
PROPERTY ParentPenColor;
PROPERTY ParentFont;
PROPERTY ParentShowHint;
PROPERTY PopupMenu;
PROPERTY ShowDragRects:BOOLEAN read FShowDragRects write FShowDragRects;
PROPERTY ShowHint;
PROPERTY Sorted:BOOLEAN read FSorted write SetSorted;
PROPERTY Style:TListBoxStyle read FStyle write SetStyle;
PROPERTY TabOrder;
PROPERTY TabStop;
PROPERTY Visible;
PROPERTY ZOrder;
PROPERTY OnCanDrag;
PROPERTY OnClick:TNotifyEvent read FOnClick write FOnClick;
PROPERTY OnDblClick;
PROPERTY OnDragDrop;
PROPERTY OnDragOver;
PROPERTY OnDrawItem:TListBoxDrawItemEvent read FOnDrawItem write FOnDrawItem;
PROPERTY OnEndDrag;
PROPERTY OnEnter;
PROPERTY OnExit;
PROPERTY OnFontChange;
PROPERTY OnItemFocus:TItemFocusEvent read FOnItemFocus write FOnItemFocus;
PROPERTY OnItemSelect:TItemSelectEvent read FOnItemSelect write FOnItemSelect;
PROPERTY OnKeyPress;
PROPERTY OnMeasureItem:TListBoxMeasureItemEvent read FOnMeasureItem write FOnMeasureItem;
PROPERTY OnMouseClick;
PROPERTY OnMouseDblClick;
PROPERTY OnMouseDown;
PROPERTY OnMouseMove;
PROPERTY OnMouseUp;
PROPERTY OnScan;
PROPERTY OnSetupShow;
PROPERTY OnStartDrag;
END;
{$M+}
TComboBoxStyle=(csDropDown,csSimple,csDropDownList);
{$M-}
TComboBox=CLASS(TControl)
PRIVATE
FListBoxHeight:LONGINT;
FStyle:TComboBoxStyle;
FEdit:TEdit;
FEditHeight:LONGINT;
FShowButton:TControl;
FListBox:TListBox;
FDropped:BOOLEAN;
FAlternate:BOOLEAN;
FDropDownCount:LONGINT;
FPopupMenu:TPopupMenu;
FOnItemFocus:TItemFocusEvent;
FOnItemSelect:TItemSelectEvent;
FOnDropDown:TNotifyEvent;
FOnChange:TNotifyEvent;
PROCEDURE CMTextChanged(VAR Msg:TMessage);message CM_TEXTCHANGED;
PROCEDURE EvEditChanged(Sender:TObject);
PROCEDURE EvKillFocus(Sender:TObject);
FUNCTION GetListBoxHeight:LONGINT;
PROCEDURE SetupShowButton;
PROCEDURE DestroyShowButton;
PROCEDURE SetStyle(NewStyle:TComboBoxStyle);
FUNCTION GetItems:TStrings;
PROCEDURE SetItems(AStrings:TStrings);
FUNCTION GetItemIndex:LONGINT;
PROCEDURE SetItemIndex(Value:LONGINT);
FUNCTION GetSorted:BOOLEAN;
PROCEDURE SetSorted(Value:BOOLEAN);
FUNCTION GetDuplicates:BOOLEAN;
PROCEDURE SetDuplicates(Value:BOOLEAN);
PROCEDURE SetExtension(CONST Value:STRING);
FUNCTION GetExtension:STRING;
FUNCTION GetMaxLength:INTEGER;
PROCEDURE SetMaxLength(tl:INTEGER);
PROCEDURE SetSelStart(x:INTEGER);
FUNCTION GetSelStart:INTEGER;
PROCEDURE SetSelLength(x:INTEGER);
FUNCTION GetSelLength:INTEGER;
FUNCTION GetSelText:STRING;
PROCEDURE SetSelText(CONST Value:STRING);
FUNCTION GetBorderStyle:TBorderStyle;
PROCEDURE SetBorderStyle(Value:TBorderStyle);
PROCEDURE SetAlternate(Value:BOOLEAN);
PROCEDURE SetDroppedDown(Value:BOOLEAN);
PROCEDURE AdjustDropDown;
PROCEDURE SetPopupMenu(NewMenu:TPopupMenu);
PROTECTED
PROCEDURE SetupComponent;OVERRIDE;
PROCEDURE CreateWnd;OVERRIDE;
PROCEDURE DestroyWnd;OVERRIDE;
PROCEDURE Move;OVERRIDE;
PROCEDURE Resize;OVERRIDE;
PROCEDURE EditChange;VIRTUAL;
PROCEDURE FontChange;OVERRIDE;
PROCEDURE SetFocus;OVERRIDE;
PROCEDURE ItemFocus(Index:LONGINT);VIRTUAL;
PROCEDURE ItemSelect(Index:LONGINT);VIRTUAL;
PROCEDURE UpdateListBoxPos(VAR ALeft,ABottom,AWidth,AHeight:LONGINT);VIRTUAL;
PROPERTY AlternateButton:BOOLEAN read FAlternate write SetAlternate;
PUBLIC
DESTRUCTOR Destroy;OVERRIDE;
PROCEDURE SetWindowPos(NewLeft,NewBottom,NewWidth,NewHeight:LONGINT);OVERRIDE;
PROCEDURE Invalidate;OVERRIDE;
PROCEDURE Update;OVERRIDE;
PROCEDURE Hide;OVERRIDE;
PROCEDURE SelectAll;
PROCEDURE Clear;
PROCEDURE BeginUpdate;
PROCEDURE EndUpdate;
FUNCTION WriteSCUResource(Stream:TResourceStream):BOOLEAN;OVERRIDE;
PROCEDURE ReadSCUResource(CONST ResName:TResourceName;VAR Data;DataLen:LONGINT);OVERRIDE;
PROPERTY ItemIndex:LONGINT read GetItemIndex write SetItemIndex;
PROPERTY DroppedDown:BOOLEAN read FDropped write SetDroppedDown;
PROPERTY XAlign;
PROPERTY XStretch;
PROPERTY YAlign;
PROPERTY YStretch;
PUBLISHED
PROPERTY Align;
PROPERTY Color;
PROPERTY BorderStyle:TBorderStyle read GetBorderStyle write SetBorderStyle;
PROPERTY PenColor;
PROPERTY DragCursor;
PROPERTY DragMode;
PROPERTY DropDownCount:LONGINT read FDropDownCount write FDropDownCount;
PROPERTY Duplicates:BOOLEAN read GetDuplicates write SetDuplicates;
PROPERTY Enabled;
PROPERTY Font;
PROPERTY Items:TStrings read GetItems write SetItems;
PROPERTY MaxLength:INTEGER read GetMaxLength write SetMaxLength;
PROPERTY ParentColor;
PROPERTY ParentPenColor;
PROPERTY ParentFont;
PROPERTY ParentShowHint;
PROPERTY PopupMenu:TPopupMenu read FPopupMenu write SetPopupMenu;
PROPERTY SelLength:INTEGER read GetSelLength write SetSelLength;
PROPERTY SelStart:INTEGER read GetSelStart write SetSelStart;
PROPERTY SelText:STRING read GetSelText write SetSelText;
PROPERTY ShowHint;
PROPERTY Sorted:BOOLEAN read GetSorted write SetSorted;
PROPERTY Style:TComboBoxStyle read FStyle write SetStyle;
PROPERTY TabOrder;
PROPERTY TabStop;
PROPERTY Text;
PROPERTY TextExtension:STRING read GetExtension write SetExtension;
PROPERTY Visible;
PROPERTY ZOrder;
PROPERTY OnCanDrag;
PROPERTY OnChange:TNotifyEvent read FOnChange write FOnChange;
PROPERTY OnDblClick;
PROPERTY OnDragDrop;
PROPERTY OnDragOver;
PROPERTY OnDropDown:TNotifyEvent read FOnDropDown write FOnDropDown;
PROPERTY OnEndDrag;
PROPERTY OnEnter;
PROPERTY OnExit;
PROPERTY OnFontChange;
PROPERTY OnItemFocus:TItemFocusEvent read FOnItemFocus write FOnItemFocus;
PROPERTY OnItemSelect:TItemSelectEvent read FOnItemSelect write FOnItemSelect;
PROPERTY OnKeyPress;
PROPERTY OnScan;
PROPERTY OnSetupShow;
PROPERTY OnStartDrag;
END;
{$M+}
TValueSetContentStyle=(vscBitmap,vscText,vscRGBColor);
{$M-}
TValueSet=CLASS(TScrollingWinControl)
PRIVATE
FMemory:POINTER;
FRows:LONGINT;
FColumns:LONGINT;
FCount:LONGINT;
FSelection:LONGINT;
FCtl3D:BOOLEAN;
FBorderStyle:TBorderStyle;
FItemBorder:TBorderStyle;
FScaleBitmap:BOOLEAN;
FContentStyle:TValueSetContentStyle;
FAutoSize:BOOLEAN;
FMargin,FSpacing:LONGINT;
FItemWidth,FItemHeight:LONGINT;
FUpdateCount:LONGINT;
FOnItemFocus:TItemFocusEvent;
FOnItemSelect:TItemSelectEvent;
PROCEDURE SetCtl3D(Value:BOOLEAN);
PROCEDURE SetBorderStyle(Value:TBorderStyle);
PROCEDURE SetItemBorder(Value:TBorderStyle);
PROCEDURE SetScaleBitmap(Value:BOOLEAN);
PROCEDURE SetContentStyle(NewStyle:TValueSetContentStyle);
PROCEDURE SetRows(Value:LONGINT);
PROCEDURE SetColumns(Value:LONGINT);
FUNCTION GetData(Index:LONGINT):POINTER;
PROCEDURE FreeData(Index:LONGINT);
PROCEDURE SetRGB(Index:LONGINT;NewValue:TColor);
FUNCTION GetRGB(Index:LONGINT):TColor;
PROCEDURE SetBitmap(Index:LONGINT;NewValue:TBitmap);
FUNCTION GetBitmap(Index:LONGINT):TBitmap;
PROCEDURE SetText(Index:LONGINT;NewValue:STRING);
FUNCTION GetText(Index:LONGINT):STRING;
PROCEDURE SetAutoSize(NewValue:BOOLEAN);
PROCEDURE SetItemWidth(NewValue:LONGINT);
PROCEDURE SetItemHeight(NewValue:LONGINT);
PROCEDURE SetSelection(Value:LONGINT);
PROCEDURE SetupScrollBars;
PROCEDURE GetXYVisible(VAR xVisible,yVisible:LONGINT);
PROTECTED
FUNCTION RectFromIndex(Index:LONGINT):TRect;
FUNCTION IndexFromPoint(X,Y:LONGINT):LONGINT;
PROCEDURE SetupComponent;OVERRIDE;
PROCEDURE DrawSelection(Index:LONGINT);VIRTUAL;
PROCEDURE DrawInterior(Index:LONGINT);VIRTUAL;
PROCEDURE MouseDown(Button:TMouseButton;ShiftState:TShiftState;X,Y:LONGINT);OVERRIDE;
PROCEDURE MouseDblClick(Button:TMouseButton;ShiftState:TShiftState;X,Y:LONGINT);OVERRIDE;
PROCEDURE ItemFocus(Index:LONGINT);VIRTUAL;
PROCEDURE ItemSelect(Index:LONGINT);VIRTUAL;
PROCEDURE SetFocus;OVERRIDE;
PROCEDURE KillFocus;OVERRIDE;
PROCEDURE CharEvent(VAR Key:CHAR;RepeatCount:BYTE);OVERRIDE;
PROCEDURE ScanEvent(VAR KeyCode:TKeyCode;RepeatCount:BYTE);OVERRIDE;
PROCEDURE Resize;OVERRIDE;
PROCEDURE SetupShow;OVERRIDE;
PROCEDURE Scroll(Sender:TScrollBar;ScrollCode:TScrollCode;VAR ScrollPos:LONGINT);OVERRIDE;
PROPERTY Margin:LONGINT read FMargin write FMargin;
PROPERTY Spacing:LONGINT read FSpacing write FSpacing;
PUBLIC
DESTRUCTOR Destroy;OVERRIDE;
PROCEDURE Redraw(CONST rec:TRect);OVERRIDE;
FUNCTION IndexFromColumnRow(Column,Row:LONGINT):LONGINT;
PROCEDURE ColumnRowFromIndex(Index:LONGINT;VAR Column,Row:LONGINT);
PROCEDURE SetDimension(Column,Row:LONGINT);
PROCEDURE SetRGBData(Index:LONGINT;CONST Data:ARRAY OF TColor);
PROCEDURE SetBitmapData(Index:LONGINT;CONST Data:ARRAY OF TBitmap);
PROCEDURE SetTextData(Index:LONGINT;CONST Data:ARRAY OF STRING);
PROCEDURE BeginUpdate;
PROCEDURE EndUpdate;
PROPERTY Count:LONGINT read FCount;
PROPERTY RGBData[Index:LONGINT]:TColor read GetRGB write SetRGB;
PROPERTY BitmapData[Index:LONGINT]:TBitmap read GetBitmap write SetBitmap;
PROPERTY TextData[Index:LONGINT]:STRING read GetText write SetText;
PROPERTY XAlign;
PROPERTY XStretch;
PROPERTY YAlign;
PROPERTY YStretch;
PUBLISHED
PROPERTY Align;
PROPERTY AutoSize:BOOLEAN read FAutoSize write SetAutoSize;
PROPERTY Color;
PROPERTY BorderStyle:TBorderStyle read FBorderStyle write SetBorderStyle;
PROPERTY Ctl3D:BOOLEAN read FCtl3D write SetCtl3D;
PROPERTY PenColor;
PROPERTY Columns:LONGINT read FColumns write SetColumns;
PROPERTY ContentStyle:TValueSetContentStyle read FContentStyle write SetContentStyle;
PROPERTY DragCursor;
PROPERTY DragMode;
PROPERTY Enabled;
PROPERTY Font;
PROPERTY ItemBorder:TBorderStyle read FItemBorder write SetItemBorder;
PROPERTY ItemHeight:LONGINT read FItemHeight write SetItemHeight;
PROPERTY ItemWidth:LONGINT read FItemWidth write SetItemWidth;
PROPERTY ParentColor;
PROPERTY ParentPenColor;
PROPERTY ParentFont;
PROPERTY ParentShowHint;
PROPERTY PopupMenu;
PROPERTY Rows:LONGINT read FRows write SetRows;
PROPERTY ScaleBitmap:BOOLEAN read FScaleBitmap write SetScaleBitmap;
PROPERTY ScrollBars;
PROPERTY Selection:LONGINT read FSelection write SetSelection;
PROPERTY ShowHint;
PROPERTY TabOrder;
PROPERTY TabStop;
PROPERTY Visible;
PROPERTY ZOrder;
PROPERTY OnCanDrag;
PROPERTY OnDblClick;
PROPERTY OnDragDrop;
PROPERTY OnDragOver;
PROPERTY OnEndDrag;
PROPERTY OnEnter;
PROPERTY OnExit;
PROPERTY OnFontChange;
PROPERTY OnItemFocus:TItemFocusEvent read FOnItemFocus write FOnItemFocus;
PROPERTY OnItemSelect:TItemSelectEvent read FOnItemSelect write FOnItemSelect;
PROPERTY OnMouseClick;
PROPERTY OnMouseDblClick;
PROPERTY OnMouseDown;
PROPERTY OnMouseMove;
PROPERTY OnMouseUp;
PROPERTY OnScan;
PROPERTY OnSetupShow;
PROPERTY OnStartDrag;
END;
FUNCTION InsertLabel(Parent:TControl;Left,Bottom,Width,Height:LONGINT;
Caption:STRING):TLabel;
FUNCTION InsertComboBox(Parent:TControl;Left,Bottom,Width,Height:LONGINT;
Style:TComboBoxStyle):TComboBox;
FUNCTION InsertValueSet(Parent:TControl;Left,Bottom,Width,Height:LONGINT;
Columns,Rows:LONGINT;ContentStyle:TValueSetContentStyle):TValueSet;
FUNCTION InsertGroupBox(Parent:TControl;Left,Bottom,Width,Height:LONGINT;
Caption:STRING):TGroupBox;
FUNCTION InsertEdit(Parent:TControl;Left,Bottom,Width,Height:LONGINT;
Text,Hint:STRING):TEdit;
FUNCTION InsertListBox(Parent:TControl;Left,Bottom,Width,Height:LONGINT;
Hint:STRING):TListBox;
FUNCTION InsertMemo(Parent:TControl;Left,Bottom,Width,Height:LONGINT;
Hint:STRING):TMemo;
FUNCTION InsertScrollBar(Parent:TControl;Left,Bottom,Width,Height:LONGINT;
Kind:TScrollBarKind):TScrollBar;
IMPLEMENTATION