⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 compinsp.hpp

📁 Object Inspector for Delphi (3-7,2005) and C++ Builder (5,6)
💻 HPP
📖 第 1 页 / 共 2 页
字号:
// Borland C++ Builder
// Copyright (c) 1995, 2002 by Borland Software Corporation
// All rights reserved

// (DO NOT EDIT: machine generated header) 'CompInsp.pas' rev: 6.00

#ifndef CompInspHPP
#define CompInspHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <ImgList.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <IniFiles.hpp>	// Pascal unit
#include <PropEdit.hpp>	// Pascal unit
#include <PropList.hpp>	// Pascal unit
#include <InspCtrl.hpp>	// Pascal unit
#include <CommCtrl.hpp>	// Pascal unit
#include <ComCtrls.hpp>	// Pascal unit
#include <StdCtrls.hpp>	// Pascal unit
#include <Menus.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <TypInfo.hpp>	// Pascal unit
#include <SysUtils.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Compinsp
{
//-- type declarations -------------------------------------------------------
#pragma option push -b-
enum TCompInspMode { imProperties, imEvents };
#pragma option pop

typedef void __fastcall (__closure *TNotifyComponentEvent)(System::TObject* Sender, Classes::TComponent* TheComponent);

typedef void __fastcall (__closure *TIndexComponentEvent)(System::TObject* Sender, Classes::TComponent* TheComponent, int &Index);

typedef void __fastcall (__closure *TSetStringEnableEvent)(System::TObject* Sender, int TheIndex, AnsiString &Value, bool &EnableDefault);

typedef void __fastcall (__closure *TEditorClassEvent)(System::TObject* Sender, int TheIndex, TMetaClass* &Value);

typedef void __fastcall (__closure *TPropFilterEvent)(System::TObject* Sender, Proplist::TProperty* Prop, bool &Result);

typedef void __fastcall (__closure *TPropCompareEvent)(System::TObject* Sender, Proplist::TProperty* Prop1, Proplist::TProperty* Prop2, int &Result);

typedef void __fastcall (__closure *TFillEventListEvent)(System::TObject* Sender, Typinfo::PTypeInfo EventType, Classes::TStrings* Strings);

class DELPHICLASS TComponentInspector;
typedef void __fastcall (__closure *TCustomizeInspectorEvent)(System::TObject* Sender, TComponentInspector* Inspector);

typedef void __fastcall (__closure *TFilterComponentEvent)(System::TObject* Sender, Classes::TComponent* AComponent, bool &EnableAdd);

typedef void __fastcall (__closure *TGetComponentTextEvent)(System::TObject* Sender, Classes::TComponent* AComponent, AnsiString &Text);

class DELPHICLASS TCustomComponentTree;
class DELPHICLASS TCustomComponentInspector;
class DELPHICLASS TCompInspList;
class DELPHICLASS TCompInspPropertyList;
class PASCALIMPLEMENTATION TCompInspList : public System::TObject 
{
	typedef System::TObject inherited;
	
private:
	TCustomComponentInspector* FOwner;
	Classes::TComponent* FRoot;
	TCompInspMode FMode;
	Classes::TList* FPropertyLists;
	Classes::TList* FProperties;
	Classes::TStrings* FExpanded;
	void __fastcall SetRoot(const Classes::TComponent* Value);
	Classes::TComponent* __fastcall GetInstance(void);
	void __fastcall SetInstance(const Classes::TComponent* Value);
	int __fastcall GetInstanceCount(void);
	Classes::TComponent* __fastcall GetArrayInstance(int Index);
	void __fastcall SetMode(const TCompInspMode Value);
	int __fastcall GetPropertyCount(void);
	Proplist::TProperty* __fastcall GetProperty(int Index);
	int __fastcall GetPropertyListCount(void);
	TCompInspPropertyList* __fastcall GetPropertyList(int Index);
	void __fastcall Clear(void);
	
public:
	__fastcall TCompInspList(TCustomComponentInspector* AOwner);
	__fastcall virtual ~TCompInspList(void);
	virtual void __fastcall Update(void);
	virtual void __fastcall AddInstance(Classes::TComponent* AInstance);
	virtual void __fastcall DeleteInstance(Classes::TComponent* AInstance);
	int __fastcall IndexOfInstance(Classes::TComponent* AInstance);
	bool __fastcall ValidPropIndex(int Index);
	bool __fastcall ValidListIndex(int Index);
	__property TCustomComponentInspector* Owner = {read=FOwner};
	__property Classes::TComponent* Root = {read=FRoot, write=SetRoot};
	__property Classes::TComponent* Instance = {read=GetInstance, write=SetInstance};
	__property TCompInspMode Mode = {read=FMode, write=SetMode, nodefault};
	__property int InstanceCount = {read=GetInstanceCount, nodefault};
	__property Classes::TComponent* Instances[int Index] = {read=GetArrayInstance};
	__property int PropertyCount = {read=GetPropertyCount, nodefault};
	__property Proplist::TProperty* Properties[int Index] = {read=GetProperty};
	__property int PropertyListCount = {read=GetPropertyListCount, nodefault};
	__property TCompInspPropertyList* PropertyLists[int Index] = {read=GetPropertyList};
public:
	#pragma option push -w-inl
	/* TObject.Create */ inline __fastcall TCompInspList(void) : System::TObject() { }
	#pragma option pop
	
};


class PASCALIMPLEMENTATION TCustomComponentInspector : public Inspctrl::TCustomInspector 
{
	typedef Inspctrl::TCustomInspector inherited;
	
private:
	Classes::TStrings* FDictionary;
	TCompInspList* FPropertyList;
	Classes::TList* FNotificationControls;
	AnsiString FSelectedProperty;
	bool FMultiSelect;
	AnsiString FDictionaryFile;
	TSetStringEnableEvent FOnSetValue;
	Inspctrl::TCallEditorEnableEvent FOnCallEditor;
	Inspctrl::TIndexEnableEvent FOnBeforeExpand;
	Inspctrl::TIndexNotifyEvent FOnAfterExpand;
	Inspctrl::TIndexEnableEvent FOnBeforeCollapse;
	Inspctrl::TIndexNotifyEvent FOnAfterCollapse;
	TEditorClassEvent FOnGetEditorClass;
	TPropFilterEvent FOnFilter;
	TPropCompareEvent FOnCompare;
	TFillEventListEvent FOnFillEventList;
	Inspctrl::TIndexNotifyEvent FOnChange;
	TCustomizeInspectorEvent FOnCustomizeInspector;
	void __fastcall SetMultiSelectProperty(const bool Value);
	void __fastcall SetDictionary(const Classes::TStrings* Value);
	void __fastcall SetDictionaryFile(const AnsiString Value);
	void __fastcall SetRoot(const Classes::TComponent* Value);
	Classes::TComponent* __fastcall GetRoot(void);
	void __fastcall SetInstance(const Classes::TComponent* Value);
	Classes::TComponent* __fastcall GetInstance(void);
	int __fastcall GetInstanceCount(void);
	Classes::TComponent* __fastcall GetArrayInstance(int Index);
	TCompInspMode __fastcall GetMode(void);
	int __fastcall GetPropertyCount(void);
	Proplist::TProperty* __fastcall GetProperty(int TheIndex);
	void __fastcall SetMode(const TCompInspMode Value);
	void __fastcall UpdateList(void);
	void __fastcall UpdateDictionary(void);
	AnsiString __fastcall Translate(const AnsiString Value, bool Direction);
	
protected:
	virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation);
	virtual int __fastcall GetDefaultIndex(void);
	virtual int __fastcall GetPopupItemWidth(Stdctrls::TListBox* ListBox, int TheIndex);
	virtual void __fastcall DrawPopupItem(Stdctrls::TListBox* ListBox, int ListItemIndex, const Types::TRect &R, int TheIndex);
	virtual void __fastcall DrawPropertyValue(Graphics::TCanvas* TheCanvas, int TheIndex, const Types::TRect &R);
	virtual AnsiString __fastcall GetName(int TheIndex);
	virtual AnsiString __fastcall GetValue(int TheIndex);
	virtual AnsiString __fastcall GetNextValue(int TheIndex);
	virtual void __fastcall SetValue(int TheIndex, const AnsiString Value);
	virtual void __fastcall DragValue(int TheIndex, int Offset);
	virtual Inspctrl::TButtonType __fastcall GetButtonType(int TheIndex);
	virtual Inspctrl::TInplaceEditorType __fastcall GetInplaceEditorType(int TheIndex);
	virtual bool __fastcall GetEnableExternalEditor(int TheIndex);
	virtual bool __fastcall GetReadOnly(int TheIndex);
	virtual Inspctrl::TExpandState __fastcall GetExpandState(int TheIndex);
	virtual int __fastcall GetLevel(int TheIndex);
	virtual void __fastcall GetValuesList(int TheIndex, const Classes::TStrings* Strings);
	virtual bool __fastcall GetSortValuesList(int TheIndex);
	virtual AnsiString __fastcall GetSelectedValue(int TheIndex);
	virtual bool __fastcall GetAutoApply(int TheIndex);
	virtual bool __fastcall CallEditor(int TheIndex);
	virtual void __fastcall Expand(int TheIndex);
	virtual void __fastcall Collapse(int TheIndex);
	virtual void __fastcall SelectItem(int TheIndex);
	virtual TMetaClass* __fastcall GetEditorClass(int TheIndex);
	virtual void __fastcall Compare(Proplist::TProperty* Prop1, Proplist::TProperty* Prop2, int &Result);
	virtual void __fastcall Filter(Proplist::TProperty* Prop, bool &Result);
	virtual void __fastcall Change(int TheIndex);
	__property bool MultiSelect = {read=FMultiSelect, write=SetMultiSelectProperty, default=1};
	__property AnsiString DictionaryFile = {read=FDictionaryFile, write=SetDictionaryFile};
	__property Classes::TStrings* Dictionary = {read=FDictionary, write=SetDictionary};
	__property Classes::TComponent* Root = {read=GetRoot, write=SetRoot};
	__property Classes::TComponent* Instance = {read=GetInstance, write=SetInstance};
	__property TCompInspMode Mode = {read=GetMode, write=SetMode, default=0};
	__property TSetStringEnableEvent OnSetValue = {read=FOnSetValue, write=FOnSetValue};
	__property Inspctrl::TCallEditorEnableEvent OnCallEditor = {read=FOnCallEditor, write=FOnCallEditor};
	__property Inspctrl::TIndexEnableEvent OnBeforeExpand = {read=FOnBeforeExpand, write=FOnBeforeExpand};
	__property Inspctrl::TIndexNotifyEvent OnAfterExpand = {read=FOnAfterExpand, write=FOnAfterExpand};
	__property Inspctrl::TIndexEnableEvent OnBeforeCollapse = {read=FOnBeforeCollapse, write=FOnBeforeCollapse};
	__property Inspctrl::TIndexNotifyEvent OnAfterCollapse = {read=FOnAfterCollapse, write=FOnAfterCollapse};
	__property TEditorClassEvent OnGetEditorClass = {read=FOnGetEditorClass, write=FOnGetEditorClass};
	__property TPropFilterEvent OnFilter = {read=FOnFilter, write=FOnFilter};
	__property TPropCompareEvent OnCompare = {read=FOnCompare, write=FOnCompare};
	__property TFillEventListEvent OnFillEventList = {read=FOnFillEventList, write=FOnFillEventList};
	__property Inspctrl::TIndexNotifyEvent OnChange = {read=FOnChange, write=FOnChange};
	__property TCustomizeInspectorEvent OnCustomizeInspector = {read=FOnCustomizeInspector, write=FOnCustomizeInspector};
	
public:
	__fastcall virtual TCustomComponentInspector(Classes::TComponent* AOwner);
	__fastcall virtual ~TCustomComponentInspector(void);
	virtual void __fastcall Update(void);
	virtual void __fastcall CreateWnd(void);
	void __fastcall RefreshList(void);
	void __fastcall ClearExpanded(void);
	virtual void __fastcall AddInstance(Classes::TComponent* AInstance);
	virtual void __fastcall DeleteInstance(Classes::TComponent* AInstance);
	int __fastcall IndexOfInstance(Classes::TComponent* AInstance);
	void __fastcall AddNotification(Controls::TControl* TheControl);
	void __fastcall DeleteNotification(Controls::TControl* TheControl);
	virtual void __fastcall FillEventList(Typinfo::PTypeInfo EventType, Classes::TStrings* Strings);
	virtual void __fastcall CustomizeInspector(TComponentInspector* Inspector);
	void __fastcall FullExpand(void);
	int __fastcall IndexOfPropertyName(AnsiString AFullname);
	void __fastcall SelectProperty(AnsiString AFullName);
	int __fastcall IndexOfProperty(Proplist::TProperty* P);
	__property int PropertyCount = {read=GetPropertyCount, nodefault};
	__property Proplist::TProperty* Properties[int Index] = {read=GetProperty};
	__property int InstanceCount = {read=GetInstanceCount, nodefault};
	__property Classes::TComponent* Instances[int Index] = {read=GetArrayInstance};
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TCustomComponentInspector(HWND ParentWindow) : Inspctrl::TCustomInspector(ParentWindow) { }
	#pragma option pop
	
};


class PASCALIMPLEMENTATION TCustomComponentTree : public Comctrls::TCustomTreeView 
{
	typedef Comctrls::TCustomTreeView inherited;
	
private:
	bool FFilled;
	bool FIgnoreUpdate;
	Classes::TComponent* FRoot;
	Classes::TComponent* FInstance;
	TCustomComponentInspector* FComponentInspector;
	bool FShowNonVisual;
	TNotifyComponentEvent FOnSelect;
	TFilterComponentEvent FOnFilter;
	TGetComponentTextEvent FOnGetText;
	TGetComponentTextEvent FOnEditText;
	TIndexComponentEvent FOnComponentImage;
	void __fastcall SetRoot(const Classes::TComponent* Value);
	void __fastcall SetInstance(const Classes::TComponent* Value);
	void __fastcall SetComponentInspector(const TCustomComponentInspector* Value);
	void __fastcall SetShowNonVisual(const bool Value);
	
protected:
	virtual void __fastcall Loaded(void);
	virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation);
	DYNAMIC void __fastcall Change(Comctrls::TTreeNode* Node);
	DYNAMIC void __fastcall Edit(const tagTVITEMA &Item);
	virtual bool __fastcall Filter(Classes::TComponent* AComponent);
	HIDESBASE virtual AnsiString __fastcall GetText(Classes::TComponent* AComponent);
	virtual void __fastcall EditText(Classes::TComponent* AComponent, AnsiString &AText);
	virtual void __fastcall SelectInstance(Classes::TComponent* AComponent);
	virtual int __fastcall GetComponentImage(Classes::TComponent* AComponent);
	MESSAGE void __fastcall CMOIUpdated(Messages::TMessage &Message);
	__property Classes::TComponent* Root = {read=FRoot, write=SetRoot};
	__property Classes::TComponent* Instance = {read=FInstance, write=SetInstance};
	__property TCustomComponentInspector* ComponentInspector = {read=FComponentInspector, write=SetComponentInspector};
	__property bool ShowNonVisual = {read=FShowNonVisual, write=SetShowNonVisual, default=0};
	__property TNotifyComponentEvent OnSelect = {read=FOnSelect, write=FOnSelect};
	__property TFilterComponentEvent OnFilter = {read=FOnFilter, write=FOnFilter};
	__property TGetComponentTextEvent OnGetText = {read=FOnGetText, write=FOnGetText};
	__property TGetComponentTextEvent OnEditText = {read=FOnEditText, write=FOnEditText};
	__property TIndexComponentEvent OnComponentImage = {read=FOnComponentImage, write=FOnComponentImage};
	
public:
	Comctrls::TTreeNode* __fastcall GetComponentNode(Classes::TComponent* AComponent);
	void __fastcall AddComponent(Classes::TComponent* AComponent);
	void __fastcall DeleteComponent(Classes::TComponent* AComponent);
	void __fastcall RefreshTree(void);
public:
	#pragma option push -w-inl
	/* TCustomTreeView.Create */ inline __fastcall virtual TCustomComponentTree(Classes::TComponent* AOwner) : Comctrls::TCustomTreeView(AOwner) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TCustomTreeView.Destroy */ inline __fastcall virtual ~TCustomComponentTree(void) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TCustomComponentTree(HWND ParentWindow) : Comctrls::TCustomTreeView(ParentWindow) { }
	#pragma option pop
	
};


class DELPHICLASS TComponentTree;
class PASCALIMPLEMENTATION TComponentTree : public TCustomComponentTree 
{
	typedef TCustomComponentTree inherited;
	
__published:
	__property Anchors  = {default=3};
	__property BiDiMode ;
	__property BorderWidth  = {default=0};
	__property Constraints ;
	__property AutoExpand  = {default=0};
	__property ChangeDelay  = {default=0};
	__property HotTrack  = {default=0};
	__property RightClickSelect  = {default=0};
	__property RowSelect  = {default=0};
	__property ToolTips  = {default=1};
	__property OnCustomDraw ;
	__property OnCustomDrawItem ;
	__property OnEndDock ;
	__property OnStartDock ;
	__property Align  = {default=0};
	__property BorderStyle  = {default=1};
	__property Ctl3D ;
	__property HelpContext  = {default=0};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -