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

📄 rm_propinsp.hpp

📁 这是一个功能强大
💻 HPP
📖 第 1 页 / 共 4 页
字号:
// CodeGear C++Builder
// Copyright (c) 1995, 2007 by CodeGear
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Rm_propinsp.pas' rev: 11.00

#ifndef Rm_propinspHPP
#define Rm_propinspHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <Sysinit.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Grids.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <Stdctrls.hpp>	// Pascal unit
#include <Sysutils.hpp>	// Pascal unit
#include <Dialogs.hpp>	// Pascal unit
#include <Typinfo.hpp>	// Pascal unit
#include <Comctrls.hpp>	// Pascal unit
#include <Menus.hpp>	// Pascal unit
#include <Rm_propadds.hpp>	// Pascal unit
#include <Types.hpp>	// Pascal unit
#include <Variants.hpp>	// Pascal unit
#include <Mask.hpp>	// Pascal unit

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

namespace Rm_propinsp
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS EELPropsPage;
class PASCALIMPLEMENTATION EELPropsPage : public Sysutils::Exception 
{
	typedef Sysutils::Exception inherited;
	
public:
	#pragma option push -w-inl
	/* Exception.Create */ inline __fastcall EELPropsPage(const AnsiString Msg) : Sysutils::Exception(Msg) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateFmt */ inline __fastcall EELPropsPage(const AnsiString Msg, System::TVarRec const * Args, const int Args_Size) : Sysutils::Exception(Msg, Args, Args_Size) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateRes */ inline __fastcall EELPropsPage(int Ident)/* overload */ : Sysutils::Exception(Ident) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResFmt */ inline __fastcall EELPropsPage(int Ident, System::TVarRec const * Args, const int Args_Size)/* overload */ : Sysutils::Exception(Ident, Args, Args_Size) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateHelp */ inline __fastcall EELPropsPage(const AnsiString Msg, int AHelpContext) : Sysutils::Exception(Msg, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateFmtHelp */ inline __fastcall EELPropsPage(const AnsiString Msg, System::TVarRec const * Args, const int Args_Size, int AHelpContext) : Sysutils::Exception(Msg, Args, Args_Size, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResHelp */ inline __fastcall EELPropsPage(int Ident, int AHelpContext)/* overload */ : Sysutils::Exception(Ident, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResFmtHelp */ inline __fastcall EELPropsPage(System::PResStringRec ResStringRec, System::TVarRec const * Args, const int Args_Size, int AHelpContext)/* overload */ : Sysutils::Exception(ResStringRec, Args, Args_Size, AHelpContext) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~EELPropsPage(void) { }
	#pragma option pop
	
};


class DELPHICLASS EELObjectList;
class PASCALIMPLEMENTATION EELObjectList : public Sysutils::Exception 
{
	typedef Sysutils::Exception inherited;
	
public:
	#pragma option push -w-inl
	/* Exception.Create */ inline __fastcall EELObjectList(const AnsiString Msg) : Sysutils::Exception(Msg) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateFmt */ inline __fastcall EELObjectList(const AnsiString Msg, System::TVarRec const * Args, const int Args_Size) : Sysutils::Exception(Msg, Args, Args_Size) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateRes */ inline __fastcall EELObjectList(int Ident)/* overload */ : Sysutils::Exception(Ident) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResFmt */ inline __fastcall EELObjectList(int Ident, System::TVarRec const * Args, const int Args_Size)/* overload */ : Sysutils::Exception(Ident, Args, Args_Size) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateHelp */ inline __fastcall EELObjectList(const AnsiString Msg, int AHelpContext) : Sysutils::Exception(Msg, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateFmtHelp */ inline __fastcall EELObjectList(const AnsiString Msg, System::TVarRec const * Args, const int Args_Size, int AHelpContext) : Sysutils::Exception(Msg, Args, Args_Size, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResHelp */ inline __fastcall EELObjectList(int Ident, int AHelpContext)/* overload */ : Sysutils::Exception(Ident, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResFmtHelp */ inline __fastcall EELObjectList(System::PResStringRec ResStringRec, System::TVarRec const * Args, const int Args_Size, int AHelpContext)/* overload */ : Sysutils::Exception(ResStringRec, Args, Args_Size, AHelpContext) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~EELObjectList(void) { }
	#pragma option pop
	
};


typedef void __fastcall (__closure *TELItemByProc)(System::TObject* AItem, void * AData, bool &AResult);

typedef void __fastcall (__closure *TRMOnBeforeModifyEvent)(System::TObject* Sender, const AnsiString aPropName);

typedef void __fastcall (__closure *TRMOnAfterModifyEvent)(System::TObject* Sender, const AnsiString aPropName, const AnsiString aPropValue);

struct TRMPropInfo;
typedef TRMPropInfo *PRMPropInfo;

#pragma pack(push,1)
struct TRMPropInfo
{
	
public:
	AnsiString ObjectClass;
	AnsiString PropTrueName;
	AnsiString PropName;
	AnsiString PropCommon;
} ;
#pragma pack(pop)

class DELPHICLASS TRMPropInfoList;
class PASCALIMPLEMENTATION TRMPropInfoList : public Classes::TList 
{
	typedef Classes::TList inherited;
	
public:
	__fastcall TRMPropInfoList(void);
	virtual void __fastcall Clear(void);
	void __fastcall GetResource(void);
public:
	#pragma option push -w-inl
	/* TList.Destroy */ inline __fastcall virtual ~TRMPropInfoList(void) { }
	#pragma option pop
	
};


class DELPHICLASS TELObjectList;
class PASCALIMPLEMENTATION TELObjectList : public System::TObject 
{
	typedef System::TObject inherited;
	
public:
	System::TObject* operator[](int AIndex) { return Items[AIndex]; }
	
private:
	Classes::TList* FItems;
	bool FChangingCount;
	System::TObject* __fastcall GetItems(int AIndex);
	int __fastcall GetCount(void);
	void __fastcall SetCount(const int Value);
	
protected:
	virtual System::TObject* __fastcall CreateItem(void);
	virtual void __fastcall ValidateAddition(void);
	virtual void __fastcall ValidateDeletion(void);
	virtual void __fastcall Change(void);
	virtual void __fastcall Added(void);
	virtual void __fastcall Deleted(void);
	System::TObject* __fastcall DoItemBy(void * AData, TELItemByProc AItemByProc);
	System::TObject* __fastcall DoFind(void * AData, TELItemByProc AItemByProc);
	System::TObject* __fastcall DoSearch(void * AData, TELItemByProc AItemByProc);
	
public:
	__fastcall TELObjectList(void);
	__fastcall virtual ~TELObjectList(void);
	int __fastcall Add(void);
	void __fastcall Remove(System::TObject* AItem);
	void __fastcall Delete(int AIndex);
	void __fastcall Clear(void);
	int __fastcall IndexOf(System::TObject* AItem);
	__property System::TObject* Items[int AIndex] = {read=GetItems/*, default*/};
	__property int Count = {read=GetCount, write=SetCount, nodefault};
};


class DELPHICLASS TELPropsPageInplaceEdit;
class PASCALIMPLEMENTATION TELPropsPageInplaceEdit : public Grids::TInplaceEditList 
{
	typedef Grids::TInplaceEditList inherited;
	
private:
	bool FChangingBounds;
	bool FReadOnlyStyle;
	void __fastcall PickListMeasureItem(Controls::TWinControl* Control, int Index, int &Height);
	void __fastcall PickListDrawItem(Controls::TWinControl* Control, int Index, const Types::TRect &Rect, Windows::TOwnerDrawState State);
	HIDESBASE MESSAGE void __fastcall WMLButtonDblClk(Messages::TWMMouse &Message);
	
protected:
	virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
	DYNAMIC void __fastcall DropDown(void);
	virtual void __fastcall UpdateContents(void);
	DYNAMIC void __fastcall KeyDown(Word &Key, Classes::TShiftState Shift);
	virtual void __fastcall DoEditButtonClick(void);
	DYNAMIC void __fastcall DoGetPickListItems(void);
	DYNAMIC void __fastcall CloseUp(bool Accept);
	DYNAMIC void __fastcall DblClick(void);
	virtual void __fastcall BoundsChanged(void);
	
public:
	__fastcall virtual TELPropsPageInplaceEdit(Classes::TComponent* AOwner);
	__property bool ReadOnlyStyle = {read=FReadOnlyStyle, nodefault};
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TELPropsPageInplaceEdit(HWND ParentWindow) : Grids::TInplaceEditList(ParentWindow) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TWinControl.Destroy */ inline __fastcall virtual ~TELPropsPageInplaceEdit(void) { }
	#pragma option pop
	
};


#pragma option push -b-
enum TELPropsPageItemExpandable { mieAuto, mieYes, mieNo };
#pragma option pop

class DELPHICLASS TELPropsPageItem;
class DELPHICLASS TELCustomPropsPage;
#pragma option push -b-
enum RM_PropInsp__8 { ppsMovingSplitter, ppsChanged, ppsDestroying, ppsUpdatingEditorContent };
#pragma option pop

typedef Set<RM_PropInsp__8, ppsMovingSplitter, ppsUpdatingEditorContent>  TELPropsPageState;

class DELPHICLASS TELPropsPageItems;
class PASCALIMPLEMENTATION TELPropsPageItems : public TELObjectList 
{
	typedef TELObjectList inherited;
	
public:
	TELPropsPageItem* operator[](int AIndex) { return Items[AIndex]; }
	
private:
	TELCustomPropsPage* FOwner;
	HIDESBASE TELPropsPageItem* __fastcall GetItems(int AIndex);
	
protected:
	virtual System::TObject* __fastcall CreateItem(void);
	virtual void __fastcall Change(void);
	
public:
	__fastcall TELPropsPageItems(TELCustomPropsPage* AOwner);
	__property TELCustomPropsPage* Owner = {read=FOwner};
	__property TELPropsPageItem* Items[int AIndex] = {read=GetItems/*, default*/};
public:
	#pragma option push -w-inl
	/* TELObjectList.Destroy */ inline __fastcall virtual ~TELPropsPageItems(void) { }
	#pragma option pop
	
};


class PASCALIMPLEMENTATION TELCustomPropsPage : public Grids::TCustomGrid 
{
	typedef Grids::TCustomGrid inherited;
	
private:
	TELPropsPageState FState;
	int FOldRow;
	int FSplitterOffset;
	AnsiString FEditText;
	TELPropsPageItems* FItems;
	DynamicArray<TELPropsPageItem* >  FRows;
	int FUpdateCount;
	Graphics::TColor FValuesColor;
	Graphics::TBitmap* FBitmap;
	Graphics::TColor FBitmapBkColor;
	Graphics::TBitmap* FCellBitmap;
	bool FCellHints;
	Controls::THintWindow* FHintWnd;
	int FLastXPos;
	int FLastYPos;
	void __fastcall ItemsChange(void);
	bool __fastcall IsOnSplitter(int AX);
	void __fastcall UpdateColWidths(void);
	void __fastcall UpdateScrollBar(void);
	void __fastcall AdjustTopRow(void);
	TELPropsPageItem* __fastcall ItemByRow(int ARow);
	void __fastcall UpdateData(int ARow);
	void __fastcall UpdatePattern(void);
	HIDESBASE MESSAGE void __fastcall WMVScroll(Messages::TWMScroll &Message);
	HIDESBASE MESSAGE void __fastcall WMSize(Messages::TWMSize &Message);
	HIDESBASE MESSAGE void __fastcall WMLButtonDblClk(Messages::TWMMouse &Message);
	HIDESBASE MESSAGE void __fastcall WMSetCursor(Messages::TWMSetCursor &Message);
	HIDESBASE MESSAGE void __fastcall CMDesignHitTest(Messages::TWMMouse &Msg);
	HIDESBASE MESSAGE void __fastcall CMFontChanged(Messages::TMessage &Message);
	HIDESBASE MESSAGE void __fastcall CMExit(Messages::TMessage &Message);
	void __fastcall SetCellHints(bool Value);
	HIDESBASE MESSAGE void __fastcall CMMouseLeave(Messages::TMessage &Msg);
	HIDESBASE MESSAGE void __fastcall WMMouseMove(Messages::TWMMouse &Msg);
	void __fastcall DoHint(int X, int Y);
	TELPropsPageItem* __fastcall GetActiveItem(void);
	int __fastcall GetSplitter(void);
	void __fastcall SetSplitter(const int Value);
	void __fastcall SetValuesColor(const Graphics::TColor Value);
	
protected:
	virtual void __fastcall DrawCell(int ACol, int ARow, const Types::TRect &ARect, Grids::TGridDrawState AState);
	virtual bool __fastcall SelectCell(int ACol, int ARow);
	virtual Grids::TInplaceEdit* __fastcall CreateEditor(void);
	virtual void __fastcall Paint(void);
	DYNAMIC bool __fastcall DoMouseWheelDown(Classes::TShiftState Shift, const Types::TPoint &MousePos);
	DYNAMIC bool __fastcall DoMouseWheelUp(Classes::TShiftState Shift, const Types::TPoint &MousePos);
	DYNAMIC Grids::TEditStyle __fastcall GetEditStyle(int ACol, int ARow);
	DYNAMIC bool __fastcall CanEditModify(void);
	DYNAMIC AnsiString __fastcall GetEditText(int ACol, int ARow);
	DYNAMIC void __fastcall SetEditText(int ACol, int ARow, const AnsiString Value);
	virtual void __fastcall CreateHandle(void);
	DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
	DYNAMIC void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
	DYNAMIC void __fastcall MouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
	DYNAMIC void __fastcall TopLeftChanged(void);
	DYNAMIC void __fastcall SizeChanged(int OldColCount, int OldRowCount);
	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);
	__property TELPropsPageItems* Items = {read=FItems};
	__property int Splitter = {read=GetSplitter, write=SetSplitter, nodefault};
	__property Graphics::TColor ValuesColor = {read=FValuesColor, write=SetValuesColor, default=8388608};
	__property Color  = {default=-16777201};
	
public:
	__fastcall virtual TELCustomPropsPage(Classes::TComponent* AOwner);
	__fastcall virtual ~TELCustomPropsPage(void);
	void __fastcall BeginUpdate(void);
	void __fastcall EndUpdate(void);
	void __fastcall ClosePopup(void);
	__property TELPropsPageItem* ActiveItem = {read=GetActiveItem};
	__property bool CellHints = {read=FCellHints, write=SetCellHints, nodefault};
	__property TELPropsPageState State = {read=FState, write=FState, nodefault};
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TELCustomPropsPage(HWND ParentWindow) : Grids::TCustomGrid(ParentWindow) { }
	#pragma option pop
	
};


class PASCALIMPLEMENTATION TELPropsPageItem : public TELObjectList 
{
	typedef TELObjectList inherited;
	
public:
	TELPropsPageItem* operator[](int AIndex) { return Items[AIndex]; }
	
private:
	TELPropsPageItem* FParent;
	TELCustomPropsPage* FOwner;
	TELPropsPageItemExpandable FExpandable;
	AnsiString FCaption;
	AnsiString FVirtualCaption;
	AnsiString FPropCommon;
	bool FExpanded;
	AnsiString FDisplayValue;
	Grids::TEditStyle FEditStyle;
	int FRow;
	bool FReadOnly;
	bool FAutoUpdate;

⌨️ 快捷键说明

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