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

📄 sskinmanager.hpp

📁 I mComputermaster programmisDelphi+pascal
💻 HPP
📖 第 1 页 / 共 2 页
字号:
	
__published:
	__property System::UnicodeString SectionName = {read=FClassName, write=SetClassName};
	__property Jpeg::TJPEGImage* Image = {read=FImage, write=SetImage};
	__property System::UnicodeString Name = {read=FName, write=SetName};
	__property System::UnicodeString PropertyName = {read=FPropertyName, write=SetPropertyName};
};


class DELPHICLASS TsSkinImages;
class PASCALIMPLEMENTATION TsSkinImages : public Classes::TCollection
{
	typedef Classes::TCollection inherited;
	
public:
	TsSkinImage* operator[](int Index) { return Items[Index]; }
	
private:
	TsStoredSkin* FOwner;
	HIDESBASE TsSkinImage* __fastcall GetItem(int Index);
	HIDESBASE void __fastcall SetItem(int Index, TsSkinImage* Value);
	
protected:
	DYNAMIC Classes::TPersistent* __fastcall GetOwner(void);
	virtual void __fastcall Update(Classes::TCollectionItem* Item);
	
public:
	__fastcall TsSkinImages(TsStoredSkin* AOwner);
	__fastcall virtual ~TsSkinImages(void);
	__property TsSkinImage* Items[int Index] = {read=GetItem, write=SetItem/*, default*/};
};


class DELPHICLASS TsSkinPatterns;
class PASCALIMPLEMENTATION TsSkinPatterns : public Classes::TCollection
{
	typedef Classes::TCollection inherited;
	
public:
	TsSkinPattern* operator[](int Index) { return Items[Index]; }
	
private:
	TsStoredSkin* FOwner;
	HIDESBASE TsSkinPattern* __fastcall GetItem(int Index);
	HIDESBASE void __fastcall SetItem(int Index, TsSkinPattern* Value);
	
protected:
	DYNAMIC Classes::TPersistent* __fastcall GetOwner(void);
	virtual void __fastcall Update(Classes::TCollectionItem* Item);
	
public:
	__fastcall TsSkinPatterns(TsStoredSkin* AOwner);
	__fastcall virtual ~TsSkinPatterns(void);
	__property TsSkinPattern* Items[int Index] = {read=GetItem, write=SetItem/*, default*/};
};


class PASCALIMPLEMENTATION TsStoredSkin : public Classes::TCollectionItem
{
	typedef Classes::TCollectionItem inherited;
	
private:
	TsSkinImages* FImages;
	System::UnicodeString FName;
	TsSkinGenerals* FGeneralData;
	TsSkinPatterns* FPatterns;
	Graphics::TBitmap* FMasterBitmap;
	double FVersion;
	System::UnicodeString FDescription;
	System::UnicodeString FAuthor;
	int FShadow1Offset;
	Graphics::TColor FShadow1Color;
	int FShadow1Blur;
	int FShadow1Transparency;
	Graphics::TColor FBorderColor;
	void __fastcall SetImages(const TsSkinImages* Value);
	void __fastcall SetName(const System::UnicodeString Value);
	void __fastcall SetGeneralData(const TsSkinGenerals* Value);
	void __fastcall SetPatterns(const TsSkinPatterns* Value);
	
protected:
	virtual void __fastcall DefineProperties(Classes::TFiler* Filer);
	void __fastcall ReadData(Classes::TStream* Reader);
	void __fastcall WriteData(Classes::TStream* Writer);
	
public:
	Classes::TMemoryStream* PackedData;
	__fastcall virtual TsStoredSkin(Classes::TCollection* Collection);
	__fastcall virtual ~TsStoredSkin(void);
	void __fastcall LoadSkin(Inifiles::TMemIniFile* sf);
	void __fastcall LoadFromIni(TsSkinGenerals* gd, Inifiles::TMemIniFile* sf);
	
__published:
	__property System::UnicodeString Name = {read=FName, write=SetName};
	__property TsSkinGenerals* GeneralData = {read=FGeneralData, write=SetGeneralData};
	__property TsSkinImages* Images = {read=FImages, write=SetImages};
	__property TsSkinPatterns* Patterns = {read=FPatterns, write=SetPatterns};
	__property Graphics::TBitmap* MasterBitmap = {read=FMasterBitmap, write=FMasterBitmap};
	__property Graphics::TColor Shadow1Color = {read=FShadow1Color, write=FShadow1Color, nodefault};
	__property int Shadow1Offset = {read=FShadow1Offset, write=FShadow1Offset, nodefault};
	__property int Shadow1Blur = {read=FShadow1Blur, write=FShadow1Blur, default=-1};
	__property int Shadow1Transparency = {read=FShadow1Transparency, write=FShadow1Transparency, nodefault};
	__property Graphics::TColor BorderColor = {read=FBorderColor, write=FBorderColor, default=16711935};
	__property double Version = {read=FVersion, write=FVersion};
	__property System::UnicodeString Author = {read=FAuthor, write=FAuthor};
	__property System::UnicodeString Description = {read=FDescription, write=FDescription};
};


class DELPHICLASS TsStoredSkins;
class PASCALIMPLEMENTATION TsStoredSkins : public Classes::TCollection
{
	typedef Classes::TCollection inherited;
	
public:
	TsStoredSkin* operator[](int Index) { return Items[Index]; }
	
private:
	TsSkinManager* FOwner;
	HIDESBASE TsStoredSkin* __fastcall GetItem(int Index);
	HIDESBASE void __fastcall SetItem(int Index, TsStoredSkin* Value);
	
protected:
	DYNAMIC Classes::TPersistent* __fastcall GetOwner(void);
	
public:
	virtual void __fastcall Assign(Classes::TPersistent* Source);
	__fastcall TsStoredSkins(TsSkinManager* AOwner);
	__fastcall virtual ~TsStoredSkins(void);
	__property TsStoredSkin* Items[int Index] = {read=GetItem, write=SetItem/*, default*/};
	int __fastcall IndexOf(const System::UnicodeString SkinName);
};


class DELPHICLASS ThirdPartyList;
class PASCALIMPLEMENTATION ThirdPartyList : public Classes::TPersistent
{
	typedef Classes::TPersistent inherited;
	
private:
	System::UnicodeString FThirdEdits;
	System::UnicodeString FThirdButtons;
	System::UnicodeString FThirdBitBtns;
	System::UnicodeString FThirdCheckBoxes;
	System::UnicodeString FThirdGroupBoxes;
	System::UnicodeString FThirdListViews;
	System::UnicodeString FThirdPanels;
	System::UnicodeString FThirdGrids;
	System::UnicodeString FThirdTreeViews;
	System::UnicodeString FThirdComboBoxes;
	System::UnicodeString FThirdWWEdits;
	System::UnicodeString FThirdVirtualTrees;
	System::UnicodeString FThirdGridEh;
	System::UnicodeString FThirdPageControl;
	System::UnicodeString FThirdTabControl;
	System::UnicodeString FThirdToolBar;
	System::UnicodeString FThirdStatusBar;
	System::UnicodeString __fastcall GetString(const int Index);
	void __fastcall SetString(const int Index, const System::UnicodeString Value);
	
__published:
	__property System::UnicodeString ThirdEdits = {read=GetString, write=SetString, stored=true, index=0};
	__property System::UnicodeString ThirdButtons = {read=GetString, write=SetString, stored=true, index=1};
	__property System::UnicodeString ThirdBitBtns = {read=GetString, write=SetString, stored=true, index=2};
	__property System::UnicodeString ThirdCheckBoxes = {read=GetString, write=SetString, stored=true, index=3};
	__property System::UnicodeString ThirdGroupBoxes = {read=GetString, write=SetString, stored=true, index=6};
	__property System::UnicodeString ThirdListViews = {read=GetString, write=SetString, stored=true, index=7};
	__property System::UnicodeString ThirdPanels = {read=GetString, write=SetString, stored=true, index=8};
	__property System::UnicodeString ThirdGrids = {read=GetString, write=SetString, stored=true, index=5};
	__property System::UnicodeString ThirdTreeViews = {read=GetString, write=SetString, stored=true, index=9};
	__property System::UnicodeString ThirdComboBoxes = {read=GetString, write=SetString, stored=true, index=4};
	__property System::UnicodeString ThirdWWEdits = {read=GetString, write=SetString, stored=true, index=10};
	__property System::UnicodeString ThirdVirtualTrees = {read=GetString, write=SetString, stored=true, index=12};
	__property System::UnicodeString ThirdGridEh = {read=GetString, write=SetString, stored=true, index=11};
	__property System::UnicodeString ThirdPageControl = {read=GetString, write=SetString, stored=true, index=13};
	__property System::UnicodeString ThirdTabControl = {read=GetString, write=SetString, stored=true, index=14};
	__property System::UnicodeString ThirdToolBar = {read=GetString, write=SetString, stored=true, index=15};
	__property System::UnicodeString ThirdStatusBar = {read=GetString, write=SetString, stored=true, index=16};
public:
	/* TPersistent.Destroy */ inline __fastcall virtual ~ThirdPartyList(void) { }
	
public:
	/* TObject.Create */ inline __fastcall ThirdPartyList(void) : Classes::TPersistent() { }
	
};


#pragma option push -b-
enum TacSkinningRule { srStdForms, srStdDialogs, srThirdParty };
#pragma option pop

typedef Set<TacSkinningRule, srStdForms, srThirdParty>  TacSkinningRules;

class PASCALIMPLEMENTATION TsSkinManager : public Classes::TComponent
{
	typedef Classes::TComponent inherited;
	
private:
	typedef DynamicArray<Classes::TStringList*> _TsSkinManager__1;
	
	
private:
	int FGroupIndex;
	System::UnicodeString FSkinName;
	System::UnicodeString FSkinDirectory;
	bool FActive;
	TsStoredSkins* FBuiltInSkins;
	Sskinmenus::TsSkinableMenus* FSkinableMenus;
	Classes::TNotifyEvent FOnAfterChange;
	Classes::TNotifyEvent FOnBeforeChange;
	bool FSkinnedPopups;
	Classes::TStringList* FCommonSections;
	bool FIsDefault;
	TacGetExtraLineData FOnGetPopupLineData;
	Sskinmenus::TacMenuSupport* FMenuSupport;
	TacAnimEffects* FAnimEffects;
	HWND FActiveControl;
	bool GlobalHookInstalled;
	TacSkinningRules FSkinningRules;
	ThirdPartyList* FThirdParty;
	void __fastcall SetSkinName(const System::UnicodeString Value);
	void __fastcall SetSkinDirectory(const System::UnicodeString Value);
	void __fastcall SetActive(const bool Value);
	void __fastcall SetBuiltInSkins(const TsStoredSkins* Value);
	void __fastcall SetSkinnedPopups(const bool Value);
	System::UnicodeString __fastcall GetVersion();
	void __fastcall SetVersion(const System::UnicodeString Value);
	TacSkinInfo __fastcall GetSkinInfo();
	void __fastcall SetSkinInfo(const TacSkinInfo Value);
	void __fastcall SetHueOffset(const int Value);
	void __fastcall SetSaturation(const int Value);
	void __fastcall SetIsDefault(const bool Value);
	bool __fastcall GetIsDefault(void);
	bool __fastcall MainWindowHook(Messages::TMessage &Message);
	void __fastcall SetActiveControl(const HWND Value);
	void __fastcall SetFSkinningRules(const TacSkinningRules Value);
	
protected:
	void __fastcall SendNewSkin(bool AllowAnimation = true);
	void __fastcall SendRemoveSkin(void);
	void __fastcall LoadAllMasks(void);
	void __fastcall LoadAllPatterns(void);
	void __fastcall FreeBitmaps(void);
	void __fastcall FreeJpegs(void);
	
public:
	Sstylesimply::TsSkinData* SkinData;
	Smaskdata::TsMaskArray ma;
	Smaskdata::TsPatternArray pa;
	Smaskdata::TsGeneralDataArray gd;
	Sstylesimply::TConstantSkinData ConstData;
	Graphics::TBitmap* MasterBitmap;
	bool SkinIsPacked;
	int FHueOffset;
	int FSaturation;
	_TsSkinManager__1 ThirdLists;
	void __fastcall InitConstantIndexes(void);
	void __fastcall LoadAllGeneralData(void);
	void __fastcall SetCommonSections(const Classes::TStringList* Value);
	__fastcall virtual TsSkinManager(Classes::TComponent* AOwner);
	__fastcall virtual ~TsSkinManager(void);
	virtual void __fastcall AfterConstruction(void);
	virtual void __fastcall Loaded(void);
	void __fastcall SaveToIni(int Index, Inifiles::TMemIniFile* sf);
	void __fastcall ReloadSkin(void);
	void __fastcall ReloadPackedSkin(void);
	void __fastcall InstallHook(void);
	void __fastcall UnInstallHook(void);
	virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation);
	void __fastcall UpdateSkinSection(const System::UnicodeString SectionName);
	__property int GroupIndex = {read=FGroupIndex, write=FGroupIndex, nodefault};
	__property Sskinmenus::TsSkinableMenus* SkinableMenus = {read=FSkinableMenus, write=FSkinableMenus};
	__property HWND ActiveControl = {read=FActiveControl, write=SetActiveControl, nodefault};
	void __fastcall RepaintForms(void);
	tagSIZE __fastcall MaskSize(int MaskIndex);
	int __fastcall GetSkinIndex(const System::UnicodeString SkinSection);
	int __fastcall GetMaskIndex(int SkinIndex, const System::UnicodeString SkinSection, const System::UnicodeString mask)/* overload */;
	int __fastcall GetMaskIndex(const System::UnicodeString SkinSection, const System::UnicodeString mask)/* overload */;
	int __fastcall GetTextureIndex(int SkinIndex, const System::UnicodeString SkinSection, const System::UnicodeString PropName);
	int __fastcall GetPatternIndex(int SkinIndex, const System::UnicodeString SkinSection, const System::UnicodeString pattern);
	System::UnicodeString __fastcall GetFullSkinDirectory();
	System::UnicodeString __fastcall GetSkinNames(Classes::TStrings* sl, TacSkinTypes SkinType = (TacSkinTypes)(0x2));
	System::UnicodeString __fastcall GetExternalSkinNames(Classes::TStrings* sl, TacSkinTypes SkinType = (TacSkinTypes)(0x2));
	void __fastcall GetSkinSections(Classes::TStrings* sl);
	void __fastcall ExtractInternalSkin(const System::UnicodeString NameOfSkin, const System::UnicodeString DestDir);
	void __fastcall ExtractByIndex(int Index, const System::UnicodeString DestDir);
	void __fastcall UpdateSkin(void);
	Graphics::TColor __fastcall GetGlobalColor(void);
	Graphics::TColor __fastcall GetGlobalFontColor(void);
	Graphics::TColor __fastcall GetActiveEditColor(void);
	Graphics::TColor __fastcall GetActiveEditFontColor(void);
	Graphics::TColor __fastcall GetHighLightColor(void);
	Graphics::TColor __fastcall GetHighLightFontColor(void);
	int __fastcall MaskWidthTop(int MaskIndex);
	int __fastcall MaskWidthLeft(int MaskIndex);
	int __fastcall MaskWidthBottom(int MaskIndex);
	int __fastcall MaskWidthRight(int MaskIndex);
	bool __fastcall IsValidImgIndex(int ImageIndex);
	bool __fastcall IsValidSkinIndex(int SkinIndex);
	
__published:
	__property bool SkinnedPopups = {read=FSkinnedPopups, write=SetSkinnedPopups, default=1};
	__property TacAnimEffects* AnimEffects = {read=FAnimEffects, write=FAnimEffects};
	__property bool IsDefault = {read=GetIsDefault, write=SetIsDefault, default=1};
	__property bool Active = {read=FActive, write=SetActive, default=1};
	__property Classes::TStringList* CommonSections = {read=FCommonSections, write=SetCommonSections};
	__property int Saturation = {read=FSaturation, write=SetSaturation, default=0};
	__property int HueOffset = {read=FHueOffset, write=SetHueOffset, default=0};
	__property TsStoredSkins* InternalSkins = {read=FBuiltInSkins, write=SetBuiltInSkins};
	__property Sskinmenus::TacMenuSupport* MenuSupport = {read=FMenuSupport, write=FMenuSupport};
	__property System::UnicodeString SkinDirectory = {read=FSkinDirectory, write=SetSkinDirectory};
	__property System::UnicodeString SkinName = {read=FSkinName, write=SetSkinName};
	__property TacSkinInfo SkinInfo = {read=GetSkinInfo, write=SetSkinInfo};
	__property TacSkinningRules SkinningRules = {read=FSkinningRules, write=SetFSkinningRules, default=7};
	__property ThirdPartyList* ThirdParty = {read=FThirdParty, write=FThirdParty};
	__property System::UnicodeString Version = {read=GetVersion, write=SetVersion, stored=false};
	__property Classes::TNotifyEvent OnAfterChange = {read=FOnAfterChange, write=FOnAfterChange};
	__property Classes::TNotifyEvent OnBeforeChange = {read=FOnBeforeChange, write=FOnBeforeChange};
	__property TacGetExtraLineData OnGetMenuExtraLineData = {read=FOnGetPopupLineData, write=FOnGetPopupLineData};
};


//-- var, const, procedure ---------------------------------------------------
#define CurrentVersion L"6.05"
extern PACKAGE bool NonAutoUpdate;
extern PACKAGE TsSkinManager* DefaultManager;
extern PACKAGE Inifiles::TMemIniFile* SkinFile;
extern PACKAGE _OSVERSIONINFOW OSVersionInfo;
extern PACKAGE bool IsNT;
extern PACKAGE Acskinpack::TacSkinConvertor* sc;
extern PACKAGE bool UnPackedFirst;
extern PACKAGE void __fastcall UpdateCommonDlgs(TsSkinManager* sManager);
extern PACKAGE bool __fastcall ChangeImageInSkin(const System::UnicodeString SkinSection, const System::UnicodeString PropName, const System::UnicodeString FileName, TsSkinManager* sm);
extern PACKAGE void __fastcall ChangeSkinSaturation(TsSkinManager* sManager, int Value);
extern PACKAGE void __fastcall ChangeSkinBrightness(TsSkinManager* sManager, int Value);
extern PACKAGE void __fastcall ChangeSkinHue(TsSkinManager* sManager, int Value);
extern PACKAGE void __fastcall LoadThirdNames(TsSkinManager* sm, bool Overwrite = false);
extern PACKAGE void __fastcall UpdateThirdNames(TsSkinManager* sm);

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

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

⌨️ 快捷键说明

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