本文介绍Delphi类和组件之TControl 研究,TControl 中声明的 Parent 属性类似于 TComponent 中声明的 Owner 属性,因为 Parent 控件释放控件的过程就像 Owner 组件释放组件的过程。
Delphi 版本:Delphi XE2
TControl = class(TComponent)
private
{ 属性:Parent 读 }
FParent: TWinControl;
{ 属性:WindowProc 读写 }
FWindowProc: TWndMethod;
{ 属性:Left 读 }
FLeft:Integer;
{ 属性:Top 读 }
FTop:Integer;
{ 属性:Width 读 }
FWidth:Integer;
{ 属性:Height 读 }
FHeight:Integer;
{ 属性:ControlState 读写 }
FControlStyle: TControlStyle;
{ 属性:ControlState 读写 }
FControlState: TControlState;
{ 属性:DesktopFont 读 }
FDesktopFont:Boolean;
{ 属性:Visible 读 }
FVisible:Boolean;
{ 用于 Enabled 属性:用来存放控件的 Enabled 值 }
FEnabled:Boolean;
{ 属性:ParentFont 读 }
FParentFont:Boolean;
{ 属性:ParentColor 读 }
FParentColor:Boolean;
{ 属性:Align 读 }
FAlign: TAlign;
{ 属性:AutoSize 读 }
FAutoSize:Boolean;
{ 用于 DragMode 属性:用来存放控件的 DragMode 值 }
FDragMode: TDragMode;
{ 属性:IsControl 读写 }
FIsControl:Boolean;
{ 属性:BiDiMode 读 }
FBiDiMode: TBiDiMode;
{ 属性:ParentBiDiMode 读 }
FParentBiDiMode:Boolean;
{ 属性:Anchors 读 }
FAnchors: TAnchors;
{ 属性:Font 读 }
FFont: TFont;
{ 属性:ActionLink 读写 }
FActionLink: TControlActionLink;
{ 属性:Color 读 }
FColor: TColor;
{ 属性:Constraints 读 }
FConstraints: TSizeConstraints;
{ 属性:Margins 读 }
FMargins: TMargins;
{ 属性:Cursor 读 }
FCursor: TCursor;
{ 属性:DragCursor 读写 }
FDragCursor: TCursor;
{ 属性:PopupMenu 读 }
FPopupMenu: TPopupMenu;
{ 属性:Hint 读写 }
FHint:string;
{ 用于 ScalingFlags 属性:在 FontChanged 过程中根据 FFontHeight 改变 ScalingFlags 的值 }
FFontHeight:Integer;
{ 属性:ScalingFlags 读写 }
FScalingFlags: TScalingFlags;
{ 属性:ShowHint 读 }
FShowHint:Boolean;
{ 属性:ParentShowHint 读 }
FParentShowHint:Boolean;
{ 属性:DragKind 读写 }
FDragKind: TDragKind;
{ 属性:DockOrientation 读写 }
FDockOrientation: TDockOrientation;
{ 属性:HostDockSite 读 }
FHostDockSite: TWinControl;
{ 属性:WheelAccumulator 读写 }
FWheelAccumulator:Integer;
{ 属性:UndockWidth 写 }
FUndockWidth:Integer;
{ 属性:UndockHeight 写 }
FUndockHeight:Integer;
{ 属性:LRDockWidth 写 }
FLRDockWidth:Integer;
{ 属性:TBDockHeight 写 }
FTBDockHeight:Integer;
{ 属性:FloatingDockSiteClass 写 }
FFloatingDockSiteClass: TWinControlClass;
{ 属性:TouchManager 读 }
FTouchManager: TTouchManager;
{ 属性:OnCanResize 读写 }
FOnCanResize: TCanResizeEvent;
{ 属性:OnConstrainedResize 读写 }
FOnConstrainedResize: TConstrainedResizeEvent;
{ 属性:OnMouseDown 读写 }
FOnMouseDown: TMouseEvent;
{ 属性:OnMouseMove 读写 }
FOnMouseMove: TMouseMoveEvent;
{ 属性:OnMouseUp 读写 }
FOnMouseUp: TMouseEvent;
{ 属性:OnDragDrop 读写 }
FOnDragDrop: TDragDropEvent;
{ 属性:OnDragOver 读写 }
FOnDragOver: TDragOverEvent;
{ 属性:OnResize 读写 }
FOnResize: TNotifyEvent;
{ 属性:OnStartDock 读写 }
FOnStartDock: TStartDockEvent;
{ 属性:OnEndDock 读写 }
FOnEndDock: TEndDragEvent;
{ 属性:OnStartDrag 读写 }
FOnStartDrag: TStartDragEvent;
{ 属性:OnEndDrag 读写 }
FOnEndDrag: TEndDragEvent;
{ 属性:OnClick 读写 }
FOnClick: TNotifyEvent;
{ 属性:OnDblClick 读写 }
FOnDblClick: TNotifyEvent;
{ 属性:OnContextPopup 读写 }
FOnContextPopup: TContextPopupEvent;
{ 属性:OnMouseActivate 读写 }
FOnMouseActivate: TMouseActivateEvent;
{ 属性:OnMouseLeave 读写 }
FOnMouseLeave: TNotifyEvent;
{ 属性:OnMouseEnter 读写 }
FOnMouseEnter: TNotifyEvent;
{ 属性:OnMouseWheel 读写 }
FOnMouseWheel: TMouseWheelEvent;
{ 属性:OnMouseWheelDown 读写 }
FOnMouseWheelDown: TMouseWheelUpDownEvent;
{ 属性:OnMouseWheelUp 读写 }
FOnMouseWheelUp: TMouseWheelUpDownEvent;
{ 属性:OnGesture 读写 }
FOnGesture: TGestureEvent;
{ 属性:HelpType 读写 }
FHelpType: THelpType;
{ 属性:HelpKeyword 读 }
FHelpKeyword:string;
{ 属性: HelpContext 读 }
FHelpContext: THelpContext;
{ 用于 CustomHint 属性:用来存放控件的 CustomHint 值 }
FCustomHint: TCustomHint;
{ 属性:ParentCustomHint 读 }
FParentCustomHint:Boolean;
{ 属性:WindowText 读写 }
FText:PChar;
{ 属性:CustomHint 读 }
functionGetCustomHint: TCustomHint;
{ }
procedureCalcDockSizes;
{ }
functionCheckNewSize(varNewWidth, NewHeight: Integer):Boolean;
{ }
functionCreateFloatingDockSite(Bounds: TRect): TWinControl;
{ }
procedureDoActionChange(Sender: TObject);
{ }
functionDoCanAutoSize(varNewWidth, NewHeight: Integer):Boolean;
{ }
functionDoCanResize(varNewWidth, NewHeight: Integer):Boolean;
{ }
procedureDoConstraintsChange(Sender: TObject);
{ }
procedureDoConstrainedResize(varNewWidth, NewHeight: Integer);
{ }
procedureDoDragMsg(varDragMsg: TCMDrag);
{ }
procedureDoMouseActivate(varMessage: TCMMouseActivate);
{ }
procedureDoMouseDown(varMessage: TWMMouse; Button: TMouseButton; Shift: TShiftState);
{ }
procedureDoMouseUp(varMessage: TWMMouse; Button: TMouseButton);
{ }
procedureDoMarginChange(Sender: TObject);
{ }
procedureFontChanged(Sender: TObject);
{ 属性:AlignWithMargins 读 }
functionGetAlignWithMargins: Boolean; inline;
{ 属性:BoundsRect 读 }
functionGetBoundsRect: TRect;
{ 属性:ClientHeight 读 }
functionGetClientHeight: Integer;
{ 属性:ClientWidth 读 }
functionGetClientWidth: Integer;
{ 属性:LRDockWidth 读 }
functionGetLRDockWidth: Integer;
{ 属性:MouseCapture 读 }
functionGetMouseCapture: Boolean;
{ 属性:TBDockHeight 读 }
functionGetTBDockHeight: Integer;
{ 属性:UndockWidth 读 }
functionGetUndockWidth: Integer;
{ 属性:UndockHeight 读 }
functionGetUndockHeight: Integer;
{ }
procedureInvalidateControl(IsVisible, IsOpaque: Boolean);
{ }
functionIsAnchorsStored: Boolean;
{ }
functionIsBiDiModeStored: Boolean;
{ }
functionIsCaptionStored: Boolean;
{ }
functionIsColorStored: Boolean;
{ }
functionIsEnabledStored: Boolean;
{ }
functionIsFontStored: Boolean;
{ }
functionIsHintStored: Boolean;
{ }
functionIsHelpContextStored: Boolean;
{ }
functionIsOnClickStored: Boolean;
{ }
functionIsShowHintStored: Boolean;
{ }
functionIsVisibleStored: Boolean;
{ }
procedureReadIsControl(Reader: TReader);
{ }
procedureReadExplicitLeft(Reader: TReader);
{ }
procedureReadExplicitTop(Reader: TReader);
{ }
procedureReadExplicitWidth(Reader: TReader);
{ }
procedureReadExplicitHeight(Reader: TReader);
{ 属性:AlignWithMargins 写 }
procedureSetAlignWithMargins(Value: Boolean);
{ 属性:Anchors 写 }
procedureSetAnchors(Value: TAnchors);
{ 属性:Action 写 }
procedureSetAction(Value: TBasicAction);
{ 属性:Align 写 }
procedureSetAlign(Value: TAlign);
{ 属性:BoundsRect 写 }
procedureSetBoundsRect(constRect: TRect);
{ 属性:ClientHeight 写 }
procedureSetClientHeigh