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

📄 rm_propinsp.hpp

📁 这是一个功能强大
💻 HPP
📖 第 1 页 / 共 4 页
字号:
protected:
	virtual TELPropAttrs __fastcall GetAttrs(void);
	virtual void __fastcall Edit(void);
public:
	#pragma option push -w-inl
	/* TELPropEditor.Create */ inline __fastcall virtual TELFontPropEditor(void * ADesigner, int APropCount) : TELClassPropEditor(ADesigner, APropCount) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TELPropEditor.Destroy */ inline __fastcall virtual ~TELFontPropEditor(void) { }
	#pragma option pop
	
};


class DELPHICLASS TELModalResultPropEditor;
class PASCALIMPLEMENTATION TELModalResultPropEditor : public TELIntegerPropEditor 
{
	typedef TELIntegerPropEditor inherited;
	
protected:
	virtual TELPropAttrs __fastcall GetAttrs(void);
	virtual AnsiString __fastcall GetValue();
	virtual void __fastcall GetValues(Classes::TStrings* AValues);
	virtual void __fastcall SetValue(const AnsiString Value);
public:
	#pragma option push -w-inl
	/* TELPropEditor.Create */ inline __fastcall virtual TELModalResultPropEditor(void * ADesigner, int APropCount) : TELIntegerPropEditor(ADesigner, APropCount) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TELPropEditor.Destroy */ inline __fastcall virtual ~TELModalResultPropEditor(void) { }
	#pragma option pop
	
};


class DELPHICLASS TELPenStylePropEditor;
class PASCALIMPLEMENTATION TELPenStylePropEditor : public TELEnumPropEditor 
{
	typedef TELEnumPropEditor inherited;
	
protected:
	virtual TELPropAttrs __fastcall GetAttrs(void);
	virtual void __fastcall ValuesMeasureHeight(const AnsiString AValue, Graphics::TCanvas* ACanvas, int &AHeight);
	virtual void __fastcall ValuesMeasureWidth(const AnsiString AValue, Graphics::TCanvas* ACanvas, int &AWidth);
	virtual void __fastcall ValuesDrawValue(const AnsiString AValue, Graphics::TCanvas* ACanvas, const Types::TRect &ARect, bool ASelected);
public:
	#pragma option push -w-inl
	/* TELPropEditor.Create */ inline __fastcall virtual TELPenStylePropEditor(void * ADesigner, int APropCount) : TELEnumPropEditor(ADesigner, APropCount) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TELPropEditor.Destroy */ inline __fastcall virtual ~TELPenStylePropEditor(void) { }
	#pragma option pop
	
};


class DELPHICLASS TELBrushStylePropEditor;
class PASCALIMPLEMENTATION TELBrushStylePropEditor : public TELEnumPropEditor 
{
	typedef TELEnumPropEditor inherited;
	
protected:
	virtual TELPropAttrs __fastcall GetAttrs(void);
	virtual void __fastcall ValuesMeasureHeight(const AnsiString AValue, Graphics::TCanvas* ACanvas, int &AHeight);
	virtual void __fastcall ValuesMeasureWidth(const AnsiString AValue, Graphics::TCanvas* ACanvas, int &AWidth);
	virtual void __fastcall ValuesDrawValue(const AnsiString AValue, Graphics::TCanvas* ACanvas, const Types::TRect &ARect, bool ASelected);
public:
	#pragma option push -w-inl
	/* TELPropEditor.Create */ inline __fastcall virtual TELBrushStylePropEditor(void * ADesigner, int APropCount) : TELEnumPropEditor(ADesigner, APropCount) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TELPropEditor.Destroy */ inline __fastcall virtual ~TELBrushStylePropEditor(void) { }
	#pragma option pop
	
};


class DELPHICLASS TELTabOrderPropEditor;
class PASCALIMPLEMENTATION TELTabOrderPropEditor : public TELIntegerPropEditor 
{
	typedef TELIntegerPropEditor inherited;
	
protected:
	virtual TELPropAttrs __fastcall GetAttrs(void);
public:
	#pragma option push -w-inl
	/* TELPropEditor.Create */ inline __fastcall virtual TELTabOrderPropEditor(void * ADesigner, int APropCount) : TELIntegerPropEditor(ADesigner, APropCount) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TELPropEditor.Destroy */ inline __fastcall virtual ~TELTabOrderPropEditor(void) { }
	#pragma option pop
	
};


class DELPHICLASS TELShortCutPropEditor;
class PASCALIMPLEMENTATION TELShortCutPropEditor : public TELOrdinalPropEditor 
{
	typedef TELOrdinalPropEditor inherited;
	
protected:
	virtual TELPropAttrs __fastcall GetAttrs(void);
	virtual AnsiString __fastcall GetValue();
	virtual void __fastcall GetValues(Classes::TStrings* AValues);
	virtual void __fastcall SetValue(const AnsiString Value);
public:
	#pragma option push -w-inl
	/* TELPropEditor.Create */ inline __fastcall virtual TELShortCutPropEditor(void * ADesigner, int APropCount) : TELOrdinalPropEditor(ADesigner, APropCount) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TELPropEditor.Destroy */ inline __fastcall virtual ~TELShortCutPropEditor(void) { }
	#pragma option pop
	
};


class DELPHICLASS TELStringsPropEditor;
class PASCALIMPLEMENTATION TELStringsPropEditor : public TELClassPropEditor 
{
	typedef TELClassPropEditor inherited;
	
protected:
	virtual TELPropAttrs __fastcall GetAttrs(void);
	virtual void __fastcall Edit(void);
public:
	#pragma option push -w-inl
	/* TELPropEditor.Create */ inline __fastcall virtual TELStringsPropEditor(void * ADesigner, int APropCount) : TELClassPropEditor(ADesigner, APropCount) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TELPropEditor.Destroy */ inline __fastcall virtual ~TELStringsPropEditor(void) { }
	#pragma option pop
	
};


class DELPHICLASS TELPropertyInspectorItem;
class PASCALIMPLEMENTATION TELPropertyInspectorItem : public TELPropsPageItem 
{
	typedef TELPropsPageItem inherited;
	
private:
	TELPropEditor* FEditor;
	AnsiString FDisplayValue;
	void __fastcall EditorModified(System::TObject* Sender);
	void __fastcall EditorGetComponent(System::TObject* Sender, const AnsiString AComponentName, Classes::TComponent* &AComponent);
	void __fastcall EditorGetComponentNames(System::TObject* Sender, TMetaClass* AClass, Classes::TStrings* AResult);
	void __fastcall EditorGetComponentName(System::TObject* Sender, Classes::TComponent* AComponent, AnsiString &AName);
	void __fastcall DeGetPickList(Classes::TStrings* AResult);
	void __fastcall SetEditor(const TELPropEditor* Value);
	
protected:
	virtual AnsiString __fastcall GetDisplayValue();
	virtual void __fastcall SetDisplayValue(const AnsiString Value);
	virtual void __fastcall GetEditPickList(Classes::TStrings* APickList);
	DYNAMIC void __fastcall EditButtonClick(void);
	DYNAMIC void __fastcall EditDblClick(void);
	virtual void __fastcall PickListMeasureHeight(const AnsiString AValue, Graphics::TCanvas* ACanvas, int &AHeight);
	virtual void __fastcall PickListMeasureWidth(const AnsiString AValue, Graphics::TCanvas* ACanvas, int &AWidth);
	virtual void __fastcall PickListDrawValue(const AnsiString AValue, Graphics::TCanvas* ACanvas, const Types::TRect &ARect, bool ASelected);
	
public:
	__fastcall virtual ~TELPropertyInspectorItem(void);
	void __fastcall UpdateParams(void);
	__property TELPropEditor* Editor = {read=FEditor, write=SetEditor};
public:
	#pragma option push -w-inl
	/* TELPropsPageItem.Create */ inline __fastcall virtual TELPropertyInspectorItem(TELCustomPropsPage* AOwner, TELPropsPageItem* AParent) : TELPropsPageItem(AOwner, AParent) { }
	#pragma option pop
	
};


struct TELPropertyInspectorEditorDescr
{
	
public:
	Typinfo::TTypeInfo *TypeInfo;
	TMetaClass* ObjectClass;
	AnsiString PropName;
	TMetaClass* EditorClass;
} ;

typedef void __fastcall (__closure *TELPropertyInspectorOnFilterProp)(System::TObject* Sender, Classes::TPersistent* AInstance, Typinfo::PPropInfo APropInfo, bool &AIncludeProp);

typedef void __fastcall (__closure *TELPropertyInspectorOnGetCaptionColor)(System::TObject* Sender, Typinfo::PTypeInfo APropTypeInfo, const AnsiString APropName, Graphics::TColor &AColor);

typedef void __fastcall (__closure *TELPropertyInspectorOnGetEditorClass)(System::TObject* Sender, Classes::TPersistent* AInstance, Typinfo::PPropInfo APropInfo, TMetaClass* &AEditorClass);

#pragma option push -b-
enum TELPropertyInspectorPropKind { pkProperties, pkEvents, pkReadOnly };
#pragma option pop

typedef Set<TELPropertyInspectorPropKind, pkProperties, pkReadOnly>  TELPropertyInspectorPropKinds;

typedef DynamicArray<TELPropertyInspectorEditorDescr >  RM_PropInsp__74;

class DELPHICLASS TELCustomPropertyInspector;
class PASCALIMPLEMENTATION TELCustomPropertyInspector : public TELCustomPropsPage 
{
	typedef TELCustomPropsPage inherited;
	
private:
	Classes::TList* FObjects;
	DynamicArray<TELPropertyInspectorEditorDescr >  FEditors;
	TELOnGetComponent FOnGetComponent;
	TELOnGetComponentNames FOnGetComponentNames;
	TRMOnBeforeModifyEvent FOnBeforeModify;
	TRMOnAfterModifyEvent FOnAfterModify;
	TELOnGetComponentName FOnGetComponentName;
	TELPropertyInspectorPropKinds FPropKinds;
	TELPropertyInspectorOnFilterProp FOnFilterProp;
	Graphics::TColor FComponentRefColor;
	Graphics::TColor FComponentRefChildColor;
	bool FExpandComponentRefs;
	bool FReadOnly;
	void *FDesigner;
	TELPropertyInspectorOnGetCaptionColor FOnGetCaptionColor;
	bool FObjectsLocked;
	TELPropertyInspectorOnGetEditorClass FOnGetEditorClass;
	void __fastcall Change(void);
	void __fastcall InternalModified(void);
	int __fastcall IndexOfEditor(Typinfo::PTypeInfo ATypeInfo, TMetaClass* AObjectClass, const AnsiString APropName, TMetaClass* AEditorClass);
	void __fastcall CheckObjectsLock(void);
	Classes::TPersistent* __fastcall GetObjects(int AIndex);
	void __fastcall SetObjects(int AIndex, const Classes::TPersistent* Value);
	int __fastcall GetObjectCount(void);
	void __fastcall SetPropKinds(const TELPropertyInspectorPropKinds Value);
	void __fastcall SetComponentRefColor(const Graphics::TColor Value);
	void __fastcall SetComponentRefChildColor(const Graphics::TColor Value);
	void __fastcall SetExpandComponentRefs(const bool Value);
	void __fastcall SetReadOnly(const bool Value);
	void __fastcall SetDesigner(const void * Value);
	
protected:
	virtual TELPropsPageItem* __fastcall CreateItem(TELPropsPageItem* AParent);
	virtual void __fastcall ItemExpanded(TELPropsPageItem* AItem);
	virtual void __fastcall ItemCollapsed(TELPropsPageItem* AItem);
	virtual Graphics::TColor __fastcall GetItemCaptionColor(TELPropsPageItem* AItem);
	virtual TMetaClass* __fastcall GetEditorClass(Classes::TPersistent* AInstance, Typinfo::PPropInfo APropInfo);
	HIDESBASE virtual void __fastcall GetComponent(const AnsiString AComponentName, Classes::TComponent* &AComponent);
	virtual void __fastcall GetComponentNames(TMetaClass* AClass, Classes::TStrings* AResult);
	virtual void __fastcall GetComponentName(Classes::TComponent* AComponent, AnsiString &AName);
	virtual void __fastcall FilterProp(Classes::TPersistent* AInstance, Typinfo::PPropInfo APropInfo, bool &AIncludeProp);
	virtual void __fastcall GetCaptionColor(Typinfo::PTypeInfo APropTypeInfo, const AnsiString APropName, Graphics::TColor &AColor);
	__property void * Designer = {read=FDesigner, write=SetDesigner};
	__property TELPropertyInspectorPropKinds PropKinds = {read=FPropKinds, write=SetPropKinds, default=1};
	__property Graphics::TColor ComponentRefColor = {read=FComponentRefColor, write=SetComponentRefColor, default=128};
	__property Graphics::TColor ComponentRefChildColor = {read=FComponentRefChildColor, write=SetComponentRefChildColor, default=32768};
	__property bool ExpandComponentRefs = {read=FExpandComponentRefs, write=SetExpandComponentRefs, default=1};
	__property bool ReadOnly = {read=FReadOnly, write=SetReadOnly, default=0};
	__property TELOnGetComponent OnGetComponent = {read=FOnGetComponent, write=FOnGetComponent};
	__property TELOnGetComponentNames OnGetComponentNames = {read=FOnGetComponentNames, write=FOnGetComponentNames};
	__property TELOnGetComponentName OnGetComponentName = {read=FOnGetComponentName, write=FOnGetComponentName};
	__property TELPropertyInspectorOnFilterProp OnFilterProp = {read=FOnFilterProp, write=FOnFilterProp};
	__property TRMOnBeforeModifyEvent OnBeforeModify = {read=FOnBeforeModify, write=FOnBeforeModify};
	__property TRMOnAfterModifyEvent OnAfterModify = {read=FOnAfterModify, write=FOnAfterModify};
	__property TELPropertyInspectorOnGetCaptionColor OnGetCaptionColor = {read=FOnGetCaptionColor, write=FOnGetCaptionColor};
	__property TELPropertyInspectorOnGetEditorClass OnGetEditorClass = {read=FOnGetEditorClass, write=FOnGetEditorClass};
	
public:
	__fastcall virtual TELCustomPropertyInspector(Classes::TComponent* AOwner);
	__fastcall virtual ~TELCustomPropertyInspector(void);
	void __fastcall Add(Classes::TPersistent* AObject);
	void __fastcall AddObjects(Classes::TPersistent* * aObjects, const int aObjects_Size);
	void __fastcall Delete(int AIndex);
	HIDESBASE void __fastcall Remove(Classes::TPersistent* AObject);
	void __fastcall Clear(void);
	void __fastcall UpdateItems(void);
	void __fastcall AssignObjects(Classes::TList* AObjects);
	int __fastcall IndexOf(Classes::TPersistent* AObject);
	void __fastcall Modified(void);
	void __fastcall RegisterPropEditor(Typinfo::PTypeInfo ATypeInfo, TMetaClass* AObjectClass, const AnsiString APropName, TMetaClass* AEditorClass);
	void __fastcall UnregisterPropEditor(Typinfo::PTypeInfo ATypeInfo, TMetaClass* AObjectClass, const AnsiString APropName, TMetaClass* AEditorClass);
	__property Classes::TPersistent* Objects[int AIndex] = {read=GetObjects, write=SetObjects};
	__property int ObjectCount = {read=GetObjectCount, nodefault};
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TELCustomPropertyInspector(HWND ParentWindow) : TELCustomPropsPage(ParentWindow) { }
	#pragma option pop
	
};


class DELPHICLASS TELPropertyInspector;
class PASCALIMPLEMENTATION TELPropertyInspector : public TELCustomPropertyInspector 
{
	typedef TELCustomPropertyInspector inherited;
	
public:
	__property Designer ;
	
__published:
	__property PropKinds  = {default=1};
	__property ComponentRefColor  = {default=128};
	__property ComponentRefChildColor  = {default=32768};
	__property ExpandComponentRefs  = {default=1};
	__property ReadOnly  = {default=0};
	__property Splitter ;
	__property ValuesColor  = {default=8388608};
	__property Align  = {default=0};
	__property Anchors  = {default=3};
	__property BiDiMode ;
	__property BorderStyle  = {default=1};
	__property Color  = {default=-16777201};
	__property Constraints ;
	__property Ctl3D ;
	__property DragCursor  = {default=-12};
	__property DragKind  = {default=0};
	__property DragMode  = {default=0};
	__property Enabled  = {default=1};
	__property Font ;
	__property ParentBiDiMode  = {default=1};
	__property ParentColor  = {default=0};
	__property ParentFont  = {default=1};
	__property ParentShowHint  = {default=1};
	__property PopupMenu ;
	__property ShowHint ;
	__property TabOrder  = {default=-1};
	__property Visible  = {default=1};
	__property OnBeforeModify ;
	__property OnAfterModify ;
	__property OnGetComponent ;
	__property OnGetComponentNames ;
	__property OnGetComponentName ;
	__property OnFilterProp ;
	__property OnGetCaptionColor ;
	__property OnGetEditorClass ;
	__property OnClick ;
	__property OnContextPopup ;
	__property OnDblClick ;
	__property OnDragDrop ;
	__property OnDragOver ;
	__property OnEndDock ;
	__property OnEndDrag ;
	__property OnEnter ;
	__property OnExit ;
	__property OnKeyDown ;
	__property OnKeyPress ;
	__property OnKeyUp ;
	__property OnMouseDown ;
	__property OnMouseMove ;
	__property OnMouseUp ;
	__property OnMouseWheelDown ;
	__property OnMouseWheelUp ;
	__property OnStartDock ;
	__property OnStartDrag ;
public:
	#pragma option push -w-inl
	/* TELCustomPropertyInspector.Create */ inline __fastcall virtual TELPropertyInspector(Classes::TComponent* AOwner) : TELCustomPropertyInspector(AOwner) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TELCustomPropertyInspector.Destroy */ inline __fastcall virtual ~TELPropertyInspector(void) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TELPropertyInspector(HWND ParentWindow) : TELCustomPropertyInspector(ParentWindow) { }
	#pragma option pop
	
};


//-- var, const, procedure ---------------------------------------------------
#define SELDsgnrControlLockedDel "Control \"%s\" or some of it chidrens can not\r be delete"\
	"d becouse they are locked"
#define SELDsgnrControlsLockedDel "Some controls is locked. Can not delete controls."
#define SELDsgnrClipboardFormat "Extension Library designer components"
extern PACKAGE void __fastcall ELGetObjectsProps(void * ADesigner, Classes::TList* AObjList, Typinfo::TTypeKinds AKinds, bool AOnlyNestable, TELGetEditorClassProc AGetEditorClassProc, Classes::TList* AResult);

}	/* namespace Rm_propinsp */
using namespace Rm_propinsp;
#pragma pack(pop)
#pragma option pop

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// Rm_propinsp

⌨️ 快捷键说明

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