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

📄 winskindata.hpp

📁 delphi皮肤控件,很好的.我正在使用当中
💻 HPP
📖 第 1 页 / 共 2 页
字号:
__published:
	__property Classes::TStrings* Edit = {read=Fedit, write=SetEdit};
	__property Classes::TStrings* Checkbox = {read=fCheckbox, write=SetCheckbox};
	__property Classes::TStrings* Combobox = {read=fcombobox, write=Setcombobox};
	__property Classes::TStrings* Radiobutton = {read=fRadiobutton, write=SetRadiobutton};
};


typedef DynamicArray<Graphics::TColor >  WinSkinData__9;

typedef DynamicArray<TDataSkinSysButton* >  WinSkinData__01;

class PASCALIMPLEMENTATION TSkinData : public Classes::TComponent 
{
	typedef Classes::TComponent inherited;
	
private:
	AnsiString fskinfile;
	Winskinini::TQuickIni* ini;
	Graphics::TColor fMenuSideBar;
	Classes::TMemoryStream* ms;
	bool factive;
	int fdisableTag;
	TWinContainers FContainers;
	TSkinControlTypes FSkinControls;
	TSkinOptions fSkinOptions;
	TSkinFormType ftype;
	TOnFormSkin fOnFormSkin;
	TOnSkinForm fOnBeforeSkinForm;
	TOnSkinForm fOnAfterSkinForm;
	Classes::TNotifyEvent fOnSkinChanged;
	TOnSkinControl FOnSkinControl;
	bool FInDLL;
	Classes::TStrings* f3rdControls;
	bool fmenuauto;
	AnsiString fversion;
	bool fmenumerge;
	void __fastcall ReadMenuBar(TDataSkinObject* &aobject, AnsiString aname);
	void __fastcall ReadProgress(TDataSkinObject* &aobject, AnsiString aname);
	void __fastcall ReadRGB(AnsiString Section, AnsiString aname, Graphics::TColor &value);
	Graphics::TColor __fastcall GetColor(const AnsiString s1, Graphics::TColor acolor);
	void __fastcall SetFrame(void);
	int __fastcall GetSectionNum(AnsiString asection, AnsiString aname);
	void __fastcall WriteData(Classes::TStream* Stream);
	void __fastcall ReadData(Classes::TStream* Stream);
	AnsiString __fastcall GetSkinStore();
	void __fastcall SetSkinStore(const AnsiString Value);
	void __fastcall CreateMdibtn(int n);
	void __fastcall SetActive(bool Value);
	void __fastcall SetVersion(AnsiString Value);
	void __fastcall InitControlList(void);
	void __fastcall SetControlList(Classes::TStrings* Value);
	void __fastcall GetAppIcon(void);
	void __fastcall ReadTrack(TDataSkinObject* &aobject, AnsiString aname);
	void __fastcall CreateLogo(void);
	void __fastcall CreateCaptionFont(void);
	void __fastcall CreateMinCaption(void);
	
protected:
	void __fastcall ReadObject(TDataSkinObject* &aobject, AnsiString aname);
	void __fastcall ReadObject2(TDataSkinBorder* &aobject, AnsiString aname, AnsiString image2);
	void __fastcall ReadButton(void);
	void __fastcall ReadSysButton(void);
	void __fastcall LoadFromIni(AnsiString filename);
	void __fastcall ReadBord(void);
	void __fastcall ReadColor(void);
	void __fastcall ReadTitle(TDataSkinObject* aobject, AnsiString aname);
	void __fastcall ReadBoxLabel(TDataSkinBoxLabel* &aobject, AnsiString aname);
	virtual void __fastcall DefineProperties(Classes::TFiler* Filer);
	void __fastcall RebuildToolbar(void);
	void __fastcall ReBuildCombobox(void);
	void __fastcall ReBuildComboxArrow(void);
	virtual void __fastcall Loaded(void);
	bool __fastcall LoadSkin(void);
	void __fastcall UpdateSkin(void);
	
public:
	Skinread::TSkinReader* reader;
	Classes::TMemoryStream* data;
	bool Empty;
	Graphics::TColor Colors[20];
	DynamicArray<Graphics::TColor >  ColorPreset;
	Graphics::TBitmap* SysIcon;
	TDataSkinTitle* Title;
	DynamicArray<TDataSkinSysButton* >  SysBtn;
	TDataSkinButton* Button;
	TDataSkinBorder* tab;
	TDataSkinBorder* HSpin;
	TDataSkinBorder* VSpin;
	TDataSkinObject* Comboxborder;
	TDataSkinObject* ExtraImages;
	TDataSkinBorder* combox;
	TDataSkinObject* comboxarrow;
	TDataSkinObject* Box;
	TDataSkinObject* Toolbar;
	TDataSkinObject* Toolbarbtn;
	TDataSkinObject* progress;
	TDataSkinObject* progresschunk;
	TDataSkinBoxLabel* boxlabel;
	TDataSkinObject* StatusBar;
	TDataSkinObject* TabSheet;
	TDataSkinObject* Header;
	TDataSkinObject* Menubar;
	TDataSkinObject* MenuItem;
	TDataSkinObject* MenuitemBG;
	TDataSkinObject* SArrow;
	TDataSkinObject* HBar;
	TDataSkinObject* VBar;
	TDataSkinObject* HSlider;
	TDataSkinObject* VSlider;
	TDataSkinObject* TrackHorz;
	TDataSkinObject* TrackVert;
	TDataSkinObject* TrackBar;
	TDataSkinObject* TrackBarVert;
	TDataSkinObject* TrackLeft;
	TDataSkinObject* Trackright;
	TDataSkinObject* Tracktop;
	TDataSkinObject* Trackbottom;
	TDataSkinObject* MinCaption;
	TDataSkinBorder* border[4];
	Classes::TStringList* sectionlist;
	int PresetColors[10];
	HBRUSH BGBrush;
	bool MenuMsg;
	Controls::TImageList* bmpmenu;
	AnsiString SkinName;
	Classes::TStrings* DebugList;
	int cxMax;
	int cyMax;
	Graphics::TBitmap* logo;
	Graphics::TFont* CaptionFont;
	unsigned formhwnd;
	__fastcall virtual TSkinData(Classes::TComponent* AOwner);
	__fastcall virtual ~TSkinData(void);
	void __fastcall LoadFromFile(AnsiString value);
	void __fastcall LoadFromStream(Classes::TStream* Stream);
	void __fastcall LoadFromCollection(Winskinstore::TSkinStore* astore, int aindex);
	void __fastcall Readbmp(Graphics::TBitmap* bmp, AnsiString fname);
	bool __fastcall GetPrecolor(Graphics::TColor &acolor, int n);
	AnsiString __fastcall GetFileName(AnsiString s);
	void __fastcall Uninstall(void);
	void __fastcall Install(void);
	void __fastcall DoFormSkin(unsigned ahwnd, AnsiString aname, bool &Doskin);
	void __fastcall DoSkinChanged(void);
	void __fastcall AddNestForm(Controls::TWinControl* fParent, Controls::TWinControl* fNested);
	void __fastcall UpdateSkinControl(Forms::TForm* fParent, Controls::TWinControl* acontrol = (Controls::TWinControl*)(0x0));
	void __fastcall DeleteGraphicControl(Forms::TForm* fParent, Controls::TGraphicControl* acontrol);
	void __fastcall UpdateMenu(Forms::TForm* fParent);
	void __fastcall UpdateMainMenu(bool done);
	void __fastcall SkinForm(unsigned ahwnd);
	void __fastcall InstallThread(int aThreadID);
	void __fastcall UnInstallThread(int aThreadID);
	void __fastcall ChangeProperty(System::TObject* control, AnsiString aprop, AnsiString value);
	void __fastcall EnableSkin(bool b);
	Graphics::TColor __fastcall GetCaptionColor(void);
	bool __fastcall GetScrollBarInfo(HWND hwnd, int idObject, tagSCROLLBARINFO &psbi);
	void __fastcall DoDebug(AnsiString s);
	void __fastcall ChangeForm(Forms::TForm* aform);
	
__published:
	__property bool Active = {read=factive, write=SetActive, nodefault};
	__property int DisableTag = {read=fdisableTag, write=fdisableTag, nodefault};
	__property TSkinControlTypes SkinControls = {read=FSkinControls, write=FSkinControls, nodefault};
	__property TSkinOptions Options = {read=fSkinOptions, write=fSkinOptions, nodefault};
	__property Classes::TStrings* Skin3rd = {read=f3rdControls, write=SetControlList};
	__property AnsiString SkinFile = {read=fskinfile, write=LoadFromFile};
	__property AnsiString SkinStore = {read=GetSkinStore, write=SetSkinStore};
	__property TSkinFormType SkinFormtype = {read=ftype, write=ftype, nodefault};
	__property AnsiString Version = {read=fversion, write=SetVersion};
	__property bool MenuUpdate = {read=fmenuauto, write=fmenuauto, nodefault};
	__property bool MenuMerge = {read=fmenumerge, write=fmenumerge, nodefault};
	__property TOnFormSkin OnFormSkin = {read=fOnFormSkin, write=fOnFormSkin};
	__property Classes::TNotifyEvent OnSkinChanged = {read=fOnSkinChanged, write=fOnSkinChanged};
	__property TOnSkinControl OnSkinControl = {read=FOnSkinControl, write=FOnSkinControl};
	__property TOnSkinForm OnBeforeSkinForm = {read=fOnBeforeSkinForm, write=fOnBeforeSkinForm};
	__property TOnSkinForm OnAfterSkinForm = {read=fOnAfterSkinForm, write=fOnAfterSkinForm};
};


//-- var, const, procedure ---------------------------------------------------
static const Word CN_SkinChanged = 0x3401;
static const Word CN_CaptionBtnClick = 0x3514;
static const Word CN_CaptionBtnVisible = 0x3515;
static const Word CN_UPdateMainMenu = 0x3505;
static const Word CN_SkinEnabled = 0x3506;
static const Word CN_TabSheetClose = 0x3507;
static const Word CN_SkinNotify = 0x3508;
static const short NM_COOLSB_CUSTOMDRAW = -2815;
#define c_version "4.50.01.03"
static const Word c_skintag = 0x8235;
static const Word BE_ID = 0x41a2;
static const Word BE_BASE = 0xbc4a;
static const Word CM_BEPAINT = 0xbc4a;
static const Word CM_BENCPAINT = 0xbc4b;
static const Word CM_BEFULLRENDER = 0xbc4c;
static const Word CM_BEWAIT = 0xbc4d;
static const Word CM_BERUN = 0xbc4e;
extern PACKAGE TSkinData* GSkinData;
extern PACKAGE bool Win32PlatformIsUnicode;
extern PACKAGE unsigned DefaultUserCodePage;
extern PACKAGE TGetScrollBarInfo pGetScrollBarInfo;
extern PACKAGE FTrackMouseEvent pTrackMouseEvent;
extern PACKAGE TGetComboBoxInfo pGetComboBoxInfo;
extern PACKAGE TDisableProcessWindowsGhosting pDisableProcessWindowsGhosting;
extern PACKAGE WideString __fastcall StrToWideStr(const AnsiString S);
extern PACKAGE AnsiString __fastcall WideStringToStringEx(const WideString WS);
extern PACKAGE WideString __fastcall _WStr(WideChar * lpString, int cchCount);
extern PACKAGE int __fastcall Tnt_DrawTextW(HDC hDC, WideString wString, Types::TRect &lpRect, unsigned uFormat);
extern PACKAGE Graphics::TColor __fastcall RGBToColor(Byte R, Byte G, Byte B);
extern PACKAGE Graphics::TColor __fastcall strcolor(AnsiString s);
extern PACKAGE Controls::TWinControl* __fastcall FindControlx(HWND Handle);
extern PACKAGE void __fastcall SkinDll(void * adata);
extern PACKAGE void __fastcall DoTrackMouse(unsigned ahwnd);

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

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

⌨️ 快捷键说明

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