home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 1996 August
/
VPR9608A.BIN
/
del20try
/
install
/
data.z
/
CONTROLS.INT
< prev
next >
Wrap
Text File
|
1996-05-08
|
24KB
|
679 lines
{*******************************************************}
{ }
{ Delphi Visual Component Library }
{ }
{ Copyright (c) 1995,96 Borland International }
{ }
{*******************************************************}
unit Controls;
{$P+,S-,W-,R-}
{$C PRELOAD}
interface
{$R CONTROLS}
uses Messages, Windows, Classes, Sysutils, Graphics, Menus, CommCtrl;
{ VCL control message IDs }
const
CM_BASE = $B000;
CM_ACTIVATE = CM_BASE + 0;
CM_DEACTIVATE = CM_BASE + 1;
CM_GOTFOCUS = CM_BASE + 2;
CM_LOSTFOCUS = CM_BASE + 3;
CM_CANCELMODE = CM_BASE + 4;
CM_DIALOGKEY = CM_BASE + 5;
CM_DIALOGCHAR = CM_BASE + 6;
CM_FOCUSCHANGED = CM_BASE + 7;
CM_PARENTFONTCHANGED = CM_BASE + 8;
CM_PARENTCOLORCHANGED = CM_BASE + 9;
CM_HITTEST = CM_BASE + 10;
CM_VISIBLECHANGED = CM_BASE + 11;
CM_ENABLEDCHANGED = CM_BASE + 12;
CM_COLORCHANGED = CM_BASE + 13;
CM_FONTCHANGED = CM_BASE + 14;
CM_CURSORCHANGED = CM_BASE + 15;
CM_CTL3DCHANGED = CM_BASE + 16;
CM_PARENTCTL3DCHANGED = CM_BASE + 17;
CM_TEXTCHANGED = CM_BASE + 18;
CM_MOUSEENTER = CM_BASE + 19;
CM_MOUSELEAVE = CM_BASE + 20;
CM_MENUCHANGED = CM_BASE + 21;
CM_APPKEYDOWN = CM_BASE + 22;
CM_APPSYSCOMMAND = CM_BASE + 23;
CM_BUTTONPRESSED = CM_BASE + 24;
CM_SHOWINGCHANGED = CM_BASE + 25;
CM_ENTER = CM_BASE + 26;
CM_EXIT = CM_BASE + 27;
CM_DESIGNHITTEST = CM_BASE + 28;
CM_ICONCHANGED = CM_BASE + 29;
CM_WANTSPECIALKEY = CM_BASE + 30;
CM_INVOKEHELP = CM_BASE + 31;
CM_WINDOWHOOK = CM_BASE + 32;
CM_RELEASE = CM_BASE + 33;
CM_SHOWHINTCHANGED = CM_BASE + 34;
CM_PARENTSHOWHINTCHANGED = CM_BASE + 35;
CM_SYSCOLORCHANGE = CM_BASE + 36;
CM_WININICHANGE = CM_BASE + 37;
CM_FONTCHANGE = CM_BASE + 38;
CM_TIMECHANGE = CM_BASE + 39;
CM_TABSTOPCHANGED = CM_BASE + 40;
CM_UIACTIVATE = CM_BASE + 41;
CM_UIDEACTIVATE = CM_BASE + 42;
CM_DOCWINDOWACTIVATE = CM_BASE + 43;
CM_CONTROLLISTCHANGE = CM_BASE + 44;
CM_GETDATALINK = CM_BASE + 45;
CM_CHILDKEY = CM_BASE + 46;
CM_DRAG = CM_BASE + 47;
CM_HINTSHOW = CM_BASE + 48;
CM_DIALOGHANDLE = CM_BASE + 49;
CM_ISTOOLCONTROL = CM_BASE + 50;
{ VCL control notification IDs }
const
CN_BASE = $BC00;
CN_CHARTOITEM = CN_BASE + WM_CHARTOITEM;
CN_COMMAND = CN_BASE + WM_COMMAND;
CN_COMPAREITEM = CN_BASE + WM_COMPAREITEM;
CN_CTLCOLORBTN = CN_BASE + WM_CTLCOLORBTN;
CN_CTLCOLORDLG = CN_BASE + WM_CTLCOLORDLG;
CN_CTLCOLOREDIT = CN_BASE + WM_CTLCOLOREDIT;
CN_CTLCOLORLISTBOX = CN_BASE + WM_CTLCOLORLISTBOX;
CN_CTLCOLORMSGBOX = CN_BASE + WM_CTLCOLORMSGBOX;
CN_CTLCOLORSCROLLBAR = CN_BASE + WM_CTLCOLORSCROLLBAR;
CN_CTLCOLORSTATIC = CN_BASE + WM_CTLCOLORSTATIC;
CN_DELETEITEM = CN_BASE + WM_DELETEITEM;
CN_DRAWITEM = CN_BASE + WM_DRAWITEM;
CN_HSCROLL = CN_BASE + WM_HSCROLL;
CN_MEASUREITEM = CN_BASE + WM_MEASUREITEM;
CN_PARENTNOTIFY = CN_BASE + WM_PARENTNOTIFY;
CN_VKEYTOITEM = CN_BASE + WM_VKEYTOITEM;
CN_VSCROLL = CN_BASE + WM_VSCROLL;
CN_KEYDOWN = CN_BASE + WM_KEYDOWN;
CN_KEYUP = CN_BASE + WM_KEYUP;
CN_CHAR = CN_BASE + WM_CHAR;
CN_SYSKEYDOWN = CN_BASE + WM_SYSKEYDOWN;
CN_SYSCHAR = CN_BASE + WM_SYSCHAR;
CN_NOTIFY = CN_BASE + WM_NOTIFY;
{ TModalResult values }
const
mrNone = 0;
mrOk = idOk;
mrCancel = idCancel;
mrAbort = idAbort;
mrRetry = idRetry;
mrIgnore = idIgnore;
mrYes = idYes;
mrNo = idNo;
mrAll = mrNo + 1;
{ Cursor identifiers }
const
crDefault = 0;
crNone = -1;
crArrow = -2;
crCross = -3;
crIBeam = -4;
crSize = -5;
crSizeNESW = -6;
crSizeNS = -7;
crSizeNWSE = -8;
crSizeWE = -9;
crUpArrow = -10;
crHourGlass = -11;
crDrag = -12;
crNoDrop = -13;
crHSplit = -14;
crVSplit = -15;
crMultiDrag = -16;
crSQLWait = -17;
crNo = -18;
crAppStart = -19;
crHelp = -20;
type
{ Forward declarations }
TDragObject = class;
TControl = class;
TWinControl = class;
TCustomImageList = class;
{ VCL control message records }
TCMActivate = TWMNoParams;
TCMDeactivate = TWMNoParams;
TCMGotFocus = TWMNoParams;
TCMLostFocus = TWMNoParams;
TCMDialogKey = TWMKey;
TCMDialogChar = TWMKey;
TCMHitTest = TWMNCHitTest;
TCMEnter = TWMNoParams;
TCMExit = TWMNoParams;
TCMDesignHitTest = TWMMouse;
TCMWantSpecialKey = TWMKey;
TCMCancelMode = record
Msg: Cardinal;
Unused: Integer;
Sender: TControl;
Result: Longint;
end;
TCMFocusChanged = record
Msg: Cardinal;
Unused: Integer;
Sender: TWinControl;
Result: Longint;
end;
TCMControlListChange = record
Msg: Cardinal;
Control: TControl;
Inserting: LongBool;
Result: Longint;
end;
TCMChildKey = record
Msg: Cardinal;
CharCode: Word;
Unused: Word;
Sender: TWinControl;
Result: Longint;
end;
TDragMessage = (dmDragEnter, dmDragLeave, dmDragMove, dmDragDrop, dmDragCancel,
dmFindTarget);
PDragRec = ^TDragRec;
TDragRec = record
Pos: TPoint;
Source: TDragObject;
Target: Pointer;
end;
TCMDrag = packed record
Msg: Cardinal;
DragMessage: TDragMessage;
Reserved1: Byte;
Reserved2: Word;
DragRec: PDragRec;
Result: Longint;
end;
{ Exception classes }
EOutOfResources = class(EOutOfMemory);
EInvalidOperation = class(Exception);
{ Cursor type }
TCursor = -32768..32767;
{ Dragging objects }
TDragObject = class(TObject)
protected
function GetDragImages: TCustomImageList; virtual;
function GetDragCursor(Accepted: Boolean; X, Y: Integer): TCursor; virtual;
procedure Finished(Target: TObject; X, Y: Integer; Accepted: Boolean); virtual;
public
function Instance: THandle; virtual;
function GetName: string; virtual;
procedure HideDragImage; virtual;
procedure ShowDragImage; virtual;
end;
TDragControlObject = class(TDragObject)
public
function GetDragImages: TCustomImageList; override;
function GetDragCursor(Accepted: Boolean; X, Y: Integer): TCursor; override;
procedure Finished(Target: TObject; X, Y: Integer; Accepted: Boolean); override;
protected
constructor Create(AControl: TControl);
property Control: TControl;
procedure HideDragImage; override;
procedure ShowDragImage; override;
end;
{ Controls }
TControlCanvas = class(TCanvas)
protected
procedure CreateHandle; override;
public
destructor Destroy; override;
procedure FreeHandle;
property Control: TControl;
end;
TAlign = (alNone, alTop, alBottom, alLeft, alRight, alClient);
TControlState = set of (csLButtonDown, csClicked, csPalette,
csReadingState, csAlignmentNeeded, csFocusing, csCreating,
csPaintCopy);
TControlStyle = set of (csAcceptsControls, csCaptureMouse,
csDesignInteractive, csClickEvents, csFramed, csSetCaption, csOpaque,
csDoubleClicks, csFixedWidth, csFixedHeight, csNoDesignVisible,
csReplicatable, csNoStdEvents, csDisplayDragImage);
TMouseButton = (mbLeft, mbRight, mbMiddle);
TDragMode = (dmManual, dmAutomatic);
TDragState = (dsDragEnter, dsDragLeave, dsDragMove);
TTabOrder = -1..32767;
TCaption = type string;
TScalingFlags = set of (sfLeft, sfTop, sfWidth, sfHeight, sfFont);
TMouseEvent = procedure(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer) of object;
TMouseMoveEvent = procedure(Sender: TObject; Shift: TShiftState;
X, Y: Integer) of object;
TKeyEvent = procedure(Sender: TObject; var Key: Word;
Shift: TShiftState) of object;
TKeyPressEvent = procedure(Sender: TObject; var Key: Char) of object;
TDragOverEvent = procedure(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean) of object;
TDragDropEvent = procedure(Sender, Source: TObject;
X, Y: Integer) of object;
TStartDragEvent = procedure(Sender: TObject;
var DragObject: TDragObject) of object;
TEndDragEvent = procedure(Sender, Target: TObject;
X, Y: Integer) of object;
TControl = class(TComponent)
protected
procedure ChangeScale(M, D: Integer); dynamic;
procedure Click; dynamic;
procedure DblClick; dynamic;
procedure DefaultHandler(var Message); override;
procedure DefineProperties(Filer: TFiler); override;
procedure DragCanceled; dynamic;
procedure DragOver(Source: TObject; X, Y: Integer; State: TDragState;
var Accept: Boolean); dynamic;
procedure DoEndDrag(Target: TObject; X, Y: Integer); dynamic;
procedure DoStartDrag(var DragObject: TDragObject); dynamic;
function GetClientOrigin: TPoint; virtual;
function GetClientRect: TRect; virtual;
function GetDeviceContext(var WindowHandle: HWnd): HDC; virtual;
function GetDragImages: TCustomImageList; virtual;
function GetPalette: HPALETTE; dynamic;
function GetParentComponent: TComponent; override;
function GetPopupMenu: TPopupMenu; dynamic;
function HasParent: Boolean; override;
procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer); dynamic;
procedure MouseMove(Shift: TShiftState; X, Y: Integer); dynamic;
procedure MouseUp(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer); dynamic;
procedure Notification(AComponent: TComponent;
Operation: TOperation); override;
function PaletteChanged(Foreground: Boolean): Boolean; dynamic;
procedure ReadState(Reader: TReader); override;
procedure SendCancelMode(Sender: TControl);
procedure SetDragMode(Value: TDragMode); virtual;
procedure SetParent(AParent: TWinControl); virtual;
procedure SetParentComponent(Value: TComponent); override;
procedure SetName(const Value: TComponentName); override;
procedure SetZOrder(TopMost: Boolean); dynamic;
procedure UpdateBoundsRect(const R: TRect);
procedure VisibleChanging; dynamic;
procedure WndProc(var Message: TMessage); virtual;
property Caption: TCaption;
property Color: TColor default clWindow;
property DragCursor: TCursor default crDrag;
property DragMode: TDragMode default dmManual;
property Font: TFont;
property IsControl: Boolean;
property MouseCapture: Boolean;
property ParentColor: Boolean default True;
property ParentFont: Boolean default True;
property ParentShowHint: Boolean default True;
property PopupMenu: TPopupMenu;
property ScalingFlags: TScalingFlags;
property Text: TCaption;
property WindowText: PChar;
property OnClick: TNotifyEvent;
property OnDblClick: TNotifyEvent;
property OnDragDrop: TDragDropEvent;
property OnDragOver: TDragOverEvent;
property OnEndDrag: TEndDragEvent;
property OnMouseDown: TMouseEvent;
property OnMouseMove: TMouseMoveEvent;
property OnMouseUp: TMouseEvent;
property OnStartDrag: TStartDragEvent;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure BeginDrag(Immediate: Boolean);
procedure BringToFront;
function ClientToScreen(const Point: TPoint): TPoint;
function Dragging: Boolean;
procedure DragDrop(Source: TObject; X, Y: Integer); dynamic;
procedure EndDrag(Drop: Boolean);
function GetTextBuf(Buffer: PChar; BufSize: Integer): Integer;
function GetTextLen: Integer;
procedure Hide;
procedure Invalidate; virtual;
function Perform(Msg: Cardinal; WParam, LParam: Longint): Longint;
procedure Refresh;
procedure Repaint; virtual;
function ScreenToClient(const Point: TPoint): TPoint;
procedure SendToBack;
procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); virtual;
procedure SetTextBuf(Buffer: PChar);
procedure Show;
procedure Update; virtual;
property Align: TAlign default alNone;
property BoundsRect: TRect;
property ClientHeight: Integer;
property ClientOrigin: TPoint;
property ClientRect: TRect;
property ClientWidth: Integer;
property ControlState: TControlState;
property ControlStyle: TControlStyle;
property Parent: TWinControl;
property ShowHint: Boolean;
property Visible: Boolean default True;
property Enabled: Boolean default True;
published
property Left: Integer;
property Top: Integer;
property Width: Integer;
property Height: Integer;
property Cursor: TCursor default crDefault;
property Hint: string;
end;
TControlClass = class of TControl;
TCreateParams = record
Caption: PChar;
Style: Longint;
ExStyle: Longint;
X, Y: Integer;
Width, Height: Integer;
WndParent: HWnd;
Param: Pointer;
WindowClass: TWndClass;
WinClassName: array[0..63] of Char;
end;
TWinControl = class(TControl)
protected
procedure AlignControls(AControl: TControl; var Rect: TRect); virtual;
procedure ChangeScale(M, D: Integer); override;
procedure CreateHandle; virtual;
procedure CreateParams(var Params: TCreateParams); virtual;
procedure CreateSubClass(var Params: TCreateParams;
ControlClassName: PChar);
procedure CreateWindowHandle(const Params: TCreateParams); virtual;
procedure CreateWnd; virtual;
procedure DefaultHandler(var Message); override;
procedure DestroyHandle;
procedure DestroyWindowHandle; virtual;
procedure DestroyWnd; virtual;
procedure DoEnter; dynamic;
procedure DoExit; dynamic;
function DoKeyDown(var Message: TWMKey): Boolean;
function DoKeyPress(var Message: TWMKey): Boolean;
function DoKeyUp(var Message: TWMKey): Boolean;
function FindNextControl(CurControl: TWinControl;
GoForward, CheckTabStop, CheckParent: Boolean): TWinControl;
procedure FixupTabList;
procedure GetChildren(Proc: TGetChildProc); override;
function GetClientOrigin: TPoint; override;
function GetClientRect: TRect; override;
function GetDeviceContext(var WindowHandle: HWnd): HDC; override;
function IsControlMouseMsg(var Message: TWMMouse): Boolean;
procedure KeyDown(var Key: Word; Shift: TShiftState); dynamic;
procedure KeyUp(var Key: Word; Shift: TShiftState); dynamic;
procedure KeyPress(var Key: Char); dynamic;
procedure MainWndProc(var Message: TMessage);
procedure NotifyControls(Msg: Word);
procedure PaintControls(DC: HDC; First: TControl);
procedure PaintHandler(var Message: TWMPaint);
procedure PaintWindow(DC: HDC); virtual;
function PaletteChanged(Foreground: Boolean): Boolean; override;
procedure ReadState(Reader: TReader); override;
procedure RecreateWnd;
procedure ScaleControls(M, D: Integer);
procedure SelectFirst;
procedure SelectNext(CurControl: TWinControl;
GoForward, CheckTabStop: Boolean);
procedure SetChildOrder(Child: TComponent; Order: Integer); override;
procedure SetZOrder(TopMost: Boolean); override;
procedure ShowControl(AControl: TControl); virtual;
procedure WndProc(var Message: TMessage); override;
property Ctl3D: Boolean;
property DefWndProc: Pointer;
property ParentCtl3D: Boolean default True;
property WindowHandle: HWnd;
property OnEnter: TNotifyEvent;
property OnExit: TNotifyEvent;
property OnKeyDown: TKeyEvent;
property OnKeyPress: TKeyPressEvent;
property OnKeyUp: TKeyEvent;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure Broadcast(var Message);
function CanFocus: Boolean;
function ContainsControl(Control: TControl): Boolean;
function ControlAtPos(const Pos: TPoint; AllowDisabled: Boolean): TControl;
procedure DisableAlign;
procedure EnableAlign;
function Focused: Boolean;
procedure GetTabOrderList(List: TList); dynamic;
function HandleAllocated: Boolean;
procedure HandleNeeded;
procedure InsertControl(AControl: TControl);
procedure Invalidate; override;
procedure PaintTo(DC: HDC; X, Y: Integer);
procedure RemoveControl(AControl: TControl);
procedure Realign;
procedure Repaint; override;
procedure ScaleBy(M, D: Integer);
procedure ScrollBy(DeltaX, DeltaY: Integer);
procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); override;
procedure SetFocus; virtual;
procedure Update; override;
procedure UpdateControlState;
property Brush: TBrush;
property Controls[Index: Integer]: TControl;
property ControlCount: Integer;
property Handle: HWnd;
property Showing: Boolean;
property TabOrder: TTabOrder default -1;
property TabStop: Boolean default False;
published
property HelpContext: THelpContext default 0;
end;
TGraphicControl = class(TControl)
protected
procedure Paint; virtual;
property Canvas: TCanvas;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
end;
TCustomControl = class(TWinControl)
protected
procedure Paint; virtual;
procedure PaintWindow(DC: HDC); override;
property Canvas: TCanvas;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
end;
THintWindow = class(TCustomControl)
protected
procedure CreateParams(var Params: TCreateParams); override;
procedure Paint; override;
public
constructor Create(AOwner: TComponent); override;
procedure ActivateHint(Rect: TRect; const AHint: string); virtual;
function IsHintMsg(var Msg: TMsg): Boolean; virtual;
procedure ReleaseHandle;
property Caption;
property Color;
property Canvas;
end;
THintWindowClass = class of THintWindow;
{ TChangeLink }
TChangeLink = class(TObject)
public
destructor Destroy; override;
procedure Change; dynamic;
property OnChange: TNotifyEvent;
property Sender: TCustomImageList;
end;
{ TCustomImageList }
TDrawingStyle = (dsFocus, dsSelected, dsNormal, dsTransparent);
TImageType = (itImage, itMask);
TResType = (rtBitmap, rtCursor, rtIcon);
TOverlay = 0..3;
TLoadResource = (lrDefaultColor, lrDefaultSize, lrFromFile,
lrMap3DColors, lrTransparent, lrMonoChrome);
TLoadResources = set of TLoadResource;
TCustomImageList = class(TComponent)
protected
procedure Change; dynamic;
procedure DefineProperties(Filer: TFiler); override;
procedure GetImages(Index: Integer; Image, Mask: TBitmap);
procedure HandleNeeded;
procedure Initialize;
property BlendColor: TColor default clNone;
property BkColor: TColor default clNone;
property AllocBy: Integer default 4;
property DrawingStyle: TDrawingStyle default dsNormal;
property Height: Integer default 16;
property ImageType: TImageType default itImage;
property Masked: Boolean default True;
property OnChange: TNotifyEvent;
property ShareImages: Boolean default False;
property Width: Integer default 16;
public
constructor Create(AOwner: TComponent); override;
constructor CreateSize(AWidth, AHeight: Integer);
destructor Destroy; override;
procedure Assign(Source: TPersistent); override;
function Add(Image, Mask: TBitmap): Integer;
function AddIcon(Image: TIcon): Integer;
procedure AddImages(Value: TCustomImageList);
function AddMasked(Image: TBitmap; MaskColor: TColor): Integer;
function BeginDrag(Window: HWND; X, Y: Integer): Boolean;
procedure Clear;
procedure Delete(Index: Integer);
function DragLock(Window: HWND; XPos, YPos: Integer): Boolean;
function DragMove(X, Y: Integer): Boolean;
procedure DragUnlock;
procedure Draw(Canvas: TCanvas; X, Y, Index: Integer);
procedure DrawOverlay(Canvas: TCanvas; X, Y: Integer;
ImageIndex: Integer; Overlay: TOverlay);
function EndDrag: Boolean;
function FileLoad(ResType: TResType; Name: string;
MaskColor: TColor): Boolean;
procedure GetBitmap(Index: Integer; Image: TBitmap);
function GetHotSpot: TPoint;
procedure GetIcon(Index: Integer; Image: TIcon);
function GetImageBitmap: HBITMAP;
function GetMaskBitmap: HBITMAP;
function GetResource(ResType: TResType; Name: string;
Width: Integer; LoadFlags: TLoadResources; MaskColor: TColor): Boolean;
function HandleAllocated: Boolean;
procedure HideDragImage;
procedure Insert(Index: Integer; Image, Mask: TBitmap);
procedure InsertIcon(Index: Integer; Image: TIcon);
procedure InsertMasked(Index: Integer; Image: TBitmap; MaskColor: TColor);
procedure Move(CurIndex, NewIndex: Integer);
function Overlay(ImageIndex: Integer; Overlay: TOverlay): Boolean;
procedure RegisterChanges(Value: TChangeLink);
function ResourceLoad(ResType: TResType; Name: string;
MaskColor: TColor): Boolean;
procedure Replace(Index: Integer; Image, Mask: TBitmap);
procedure ReplaceIcon(Index: Integer; Image: TIcon);
procedure ReplaceMasked(Index: Integer; NewImage: TBitmap; MaskColor: TColor);
function SetDragImage(Index, HotSpotX, HotSpotY: Integer): Boolean;
procedure ShowDragImage;
procedure UnRegisterChanges(Value: TChangeLink);
property Count: Integer;
property DragCursor: TCursor;
property Dragging: Boolean;
property Handle: HImageList;
end;
{ TImageList }
TImageList = class(TCustomImageList)
published
property BlendColor;
property BkColor;
property AllocBy;
property DrawingStyle;
property Height;
property ImageType;
property Masked;
property OnChange;
property ShareImages;
property Width;
end;
function IsDragObject(Sender: TObject): Boolean;
function FindControl(Handle: HWnd): TWinControl;
function FindVCLWindow(const Pos: TPoint): TWinControl;
function FindDragTarget(const Pos: TPoint; AllowDisabled: Boolean): TControl;
function GetCaptureControl: TControl;
procedure SetCaptureControl(Control: TControl);
procedure CancelDrag;
function CursorToString(Cursor: TCursor): string;
function StringToCursor(const S: string): TCursor;
procedure GetCursorValues(Proc: TGetStrProc);
function CursorToIdent(Cursor: Longint; var Ident: string): Boolean;
function IdentToCursor(const Ident: string; var Cursor: Longint): Boolean;
function GetShortHint(const Hint: string): string;
function GetLongHint(const Hint: string): string;
var
CreationControl: TWinControl = nil;
function InitWndProc(HWindow: HWnd; Message, WParam: Longint;
LParam: Longint): Longint; stdcall;
const
CTL3D_ALL = $FFFF;
var
NewStyleControls: Boolean;
function SendAppMessage(Msg: Cardinal; WParam, LParam: Longint): Longint;
procedure MoveWindowOrg(DC: HDC; DX, DY: Integer);
implementation