:Base CWG.HLP :Title Component Writer's Help 1 Delphi Component Writer's Guide 2 Introduction to component writing 3 What is a component? `=cwgFunctionalDefinitionOfComponent `=cwgTechnicalDefinitionOfComponent `=cwgPracticalDefinitionOfComponent 3 What's different about writing components? =cwgComponentWritingIsNonVisual =cwgComponentWritingAndObjects =cwgComponentWritingConventions =cwgWhatGoesInAComponent 2 Overview of component creation =cwgTheVisualComponentLibrary g=cwgComponentsAndObjects @=cwgWhatKindsOfComponentsCanYouCreate 3 Component starting points X=cwgCustomControls =cwgWindowedControls =cwgGraphicalControls 4 Windows =cwgSubclassedControls =cwgGenericComponents =cwgWhatGoesInAComponent =cwgRemovingContracts h=cwgPropertiesEventsAndMethods =cwgGraphicsEncapsulation ^=cwgStreamingAndRegistration =cwgCreatingANewComponent =cwgUsingTheComponentExpert g=cwgTestingUninstalledComponents =cwgCreatingAComponentManually =cwgCreatingANewUnit =cwgDerivingTheComponentObject ^=cwgRegisteringTheComponent OOP=cwgOOPForComponentWriters =cwgDerivingNewObjects =cwgDerivingNewTypes g=cwgAncestorsAndDescendants w=cwgObjectHierarchies =cwgControllingAccess `=cwgDispatchingMethods ^=cwgObjectsAndPointers 2 Creating properties R=cwgPropertyWhy ^=cwgPropertyTypes J=cwgPublishingInheritedProperties `=cwgDefiningProperties =cwgPropertyDeclaration =cwgPropertyStorage X=cwgDirectAccess h=cwgPropertyMethods l=cwgDefaultPropertyValues =cwgCreatingIndexedProperties =cwgWritingPropertyEditors =cwgDerivingAPropertyEditorObject =cwgEditingThePropertyAsText =cwgEditingThePropertyAsAWhole =cwgSpecifyingEditorAttributes ^=cwgRegisteringThePropertyEditor =cwgCreatingEvents =cwgWhatAreEvents =cwgEventsAreMethodPointers =cwgEventsAreProperties ^=cwgEventHandlerTypes =cwgEventHandlersAreOptional =cwgImplementingTheStandardEvents =cwgWhatAreTheStandardEvents J=cwgMakingEventHooksVisible X=cwgChangingTheStandardEventHandling 3 Defining your own events =cwgSpecifyingTheEvent `=cwgDefiningTheHandlerType =cwgDeclaringTheHandlerLink =cwgCallingTheHandlerLink =cwgCreatingMethods =cwgAvoidContracts =cwgNamingMethods =cwgPublicOrProtected =cwgVirtualMethods =cwgDeclaringMethods =cwgUsingGraphicsInComponents 3 Delphi v=cwgOverviewOfGraphics =cwgUsingTheCanvas =cwgWorkingWithPictures v=cwgOffscreenBitmaps =cwgRespondingToChanges =cwgRespondingToMessages \ =cwgUnderstandingMessages 4 Windows e=cwgWhatsInAWindowsMessage @=cwgDispatchingMessages X=cwgChangingMessageHandling h=cwgOverridingTheResponseMethod =cwgUsingMessageParameters v=cwgTrappingMessages =cwgCreatingNewMessageHandlers `=cwgDefiningYourOwnMessages =cwgDeclaringANewMessageResponseMethod ^=cwgComponentsInTheIDE Delphi ^=cwgRegisteringComponentsWithTheIDE =cwgAddingPaletteBitmaps =cwgProvidingHelpOnProperties =cwgStoringAndLoadingProperties X=cwgComponentWritersReference 4 TApplication g)=vclTApplicationComponent 4 TBevel g)=vclTBevelComponent 4 TButton g)=vclTButtonComponent 4 TButtonControl g=vclTButtonControlComponent 4 TCommonDialog g=vclTCommonDialogComponent 4 TComponent g=vclTComponentComponent 4 TControl g=vclTControlComponent 4 TCustomCheckBox g=vclTCustomCheckBoxComponent 4 TCustomComboBox g=vclTCustomComboBoxComponent 4 TCustomControl g=vclTCustomControlComponent 4 TCustomEdit g=vclTCustomEditComponent 4 TCustomGrid g=vclTCustomGridComponent 4 TCustomGroupBox g=vclTCustomGroupBoxComponent 4 TCustomLabel g=vclTCustomLabelComponent 4 TCustomListBox g=vclTCustomListBoxComponent 4 TCustomMaskEdit g=vclTCustomMaskEditComponent 4 TCustomMemo g=vclTCustomMemoComponent 4 TCustomOutline g=vclTCustomOutlineComponent 4 TCustomPanel g=vclTCustomPanelComponent 4 TCustomRadioGroup g=vclTCustomRadioGroupComponent 4 TFindDialog g)=vclTFindDialogComponent 4 TFontDialog g)=vclTFontDialogComponent 4 TForm g)=vclTFormComponent 4 TGraphicControl g=vclTGraphicControlComponent 4 THeader g)=vclTHeaderComponent 4 THintWindow g=vclTHintWindowComponent 4 TImage g)=vclTImageComponent 4 TInplaceEdit g=vclTInplaceEditComponent 4 TMediaPlayer g)=vclTMediaPlayerComponent 4 TMemo g)=vclTMemoComponent 4 TMenu g=vclTMenuComponent 4 TMenuItem g)=vclTMenuItemComponent 4 TNotebook g)=vclTNotebookComponent 4 TPaintBox g)=vclTPaintBoxComponent 4 TRadioButton g)=vclTRadioButtonComponent 4 TReplaceDialog g)=vclTReplaceDialogComponent 4 TScrollBar g)=vclTScrollBarComponent 4 TScrollBox g)=vclTScrollBoxComponent 4 TScrollingWinControl g=vclTScrollingWinControlComponent 4 TShape g)=vclTShapeComponent 4 TTabSet g)=vclTTabSetComponent 4 TTimer g)=vclTTimerComponent 4 TVBXControl=vclTVBXControlComponent 4 TWinControl g=vclTWinControlComponent 4 TBitmap g)=vclTBitmapObject 4 TCanvas g)=vclTCanvasObject 4 TCaptionProperty g=vclTCaptionPropertyObject 4 TCharProperty g=vclTCharPropertyObject 4 TClassProperty g=vclTClassPropertyObject 4 TColorProperty g=vclTColorPropertyObject 4 TComponentEditor g=vclTComponentEditorObject 4 TComponentList g=vclTComponentListObject 4 TComponentProperty g=vclTComponentPropertyObject 4 TControlCanvas g=vclTControlCanvasObject 4 TCursorProperty g=vclTCursorPropertyObject 4 TDefaultEditor g=vclTDefaultEditorObject 4 TDesigner g=vclTDesignerObject 4 TEnumProperty g=vclTEnumPropertyObject 4 TFiler g=vclTFilerObject 4 TFileStream g=vclTFileStreamObject 4 TFloatProperty g=vclTFloatPropertyObject 4 TFontProperty g=vclTFontPropertyObject 4 TFontNameProperty g=vclTFontNamePropertyObject 4 TFormDesigner g=vclTFormDesignerObject 4 TGraphic g)=vclTGraphicObject 4 THandleStream g=vclTHandleStreamObject 4 TIcon g)=vclTIconObject 4 TIntegerProperty g=vclTIntegerPropertyObject 4 TMemoryStream g=vclTMemoryStreamObject 4 TMetafile g)=vclTMetafileObject 4 TMethodProperty g=vclTMethodPropertyObject 4 TModalResultProperty g=vclTModalResultPropertyObject 4 TMPFileNameProperty g=vclTMPFileNamePropertyObject 4 TObject g)=vclTObjectObject 4 TOrdinalProperty g=vclTOrdinalPropertyObject 4 TPersistent g=vclTPersistentObject 4 TPicture g)=vclTPictureObject 4 TPropertyEditor g=vclTPropertyEditorObject 4 TReader g=vclTReaderObject 4 TSetElementProperty g=vclTSetElementPropertyObject 4 TSetProperty g=vclTSetPropertyObject 4 TShortCutProperty g=vclTShortCutPropertyObject 4 TStream g=vclTStreamObject 4 TStringProperty g=vclTStringPropertyObject 4 TTabOrderProperty g=vclTTabOrderPropertyObject 4 TWriter g=vclTWriterObject 4 DrawButtonFace =vclDrawButtonFaceFunction 4 FindDragTarget =vclFindDragTargetFunction 4 FormatMaskText =vclFormatMaskTextFunction 4 GetComponentEditor =vclGetComponentEditorFunction 4 GetComponentProperties =vclGetComponentPropertiesProcedure 4 GetCursorValues =vclGetCursorValuesProcedure 4 IdentToCursor =vclIdentToCursorFunction 4 MaskGetFldSeparator =vclMaskGetFldSeparatorFunction 4 MaskGetMaskBlank =vclMaskGetMaskBlankFunction 4 MaskGetMaskSave =vclMaskGetMaskSaveFunction 4 RegisterComponentEditor =vclRegisterComponentEditorProcedure 4 RegisterComponents =vclRegisterComponentsProcedure 4 RegisterPropertyEditor =vclRegisterPropertyEditorProcedure 4 SetCaptureControl =vclSetCaptureControlProcedure 4 StringToCursor =vclStringToCursorFunction