📄 suiskinengine.hpp
字号:
/* TWinControl.CreateParented */ inline __fastcall TsuiSkinMenuBar(HWND ParentWindow) : Comctrls::TToolBar(ParentWindow) { }
#pragma option pop
};
class DELPHICLASS TsuiSkinWindowWnd;
class DELPHICLASS TsuiSkinControlWnd;
class PASCALIMPLEMENTATION TsuiSkinWindowWnd : public TsuiSkinWindow
{
typedef TsuiSkinWindow inherited;
private:
unsigned m_hWnd;
void *m_OldWndProc;
void *m_NewWndProc;
unsigned m_OldStyle;
unsigned m_OldStyle2;
bool m_SavedWndStyle2;
bool m_Expanded;
void __fastcall InitControl(unsigned hWnd);
void __fastcall UnInitControl(unsigned hWnd)/* overload */;
void __fastcall UnInitControl(TsuiSkinControlWnd* SkinCtrl)/* overload */;
protected:
virtual void __fastcall ActiveChanged(void);
virtual void __fastcall DoSaveWndStyle(void);
virtual void __fastcall CallDefaultWndProc(Messages::TMessage &Msg);
virtual bool __fastcall BeforeDefaultWndProc(Messages::TMessage &Msg);
virtual void __fastcall AfterDefaultWndProc(Messages::TMessage &Msg);
virtual unsigned __fastcall GetHandle(void);
virtual void __fastcall Init(unsigned hWnd);
virtual void __fastcall Uninit(void);
virtual void __fastcall InitControls(void);
virtual void __fastcall UnInitControls(void);
public:
#pragma option push -w-inl
/* TsuiSkinWindow.Create */ inline __fastcall TsuiSkinWindowWnd(unsigned hWnd, TsuiSkinEngine* Engine, bool ForDialog) : TsuiSkinWindow(hWnd, Engine, ForDialog) { }
#pragma option pop
#pragma option push -w-inl
/* TsuiSkinWindow.Destroy */ inline __fastcall virtual ~TsuiSkinWindowWnd(void) { }
#pragma option pop
};
class PASCALIMPLEMENTATION TsuiSkinMenuBarControlButton : public Extctrls::TCustomPanel
{
typedef Extctrls::TCustomPanel inherited;
private:
bool m_MouseIn;
Graphics::TBitmap* m_Glyph;
MESSAGE void __fastcall MouseLeave(Messages::TMessage &Msg);
MESSAGE void __fastcall MouseEnter(Messages::TMessage &Msg);
void __fastcall SetGlyph(const Graphics::TBitmap* Value);
HIDESBASE MESSAGE void __fastcall WMERASEBKGND(Messages::TMessage &Msg);
protected:
virtual void __fastcall Paint(void);
public:
__fastcall virtual TsuiSkinMenuBarControlButton(Classes::TComponent* AOwner);
__fastcall virtual ~TsuiSkinMenuBarControlButton(void);
__published:
__property Graphics::TBitmap* Glyph = {read=m_Glyph, write=SetGlyph};
__property Color = {default=-2147483633};
__property OnClick ;
public:
#pragma option push -w-inl
/* TWinControl.CreateParented */ inline __fastcall TsuiSkinMenuBarControlButton(HWND ParentWindow) : Extctrls::TCustomPanel(ParentWindow) { }
#pragma option pop
};
class PASCALIMPLEMENTATION TsuiSkinCollectionItem : public Classes::TCollectionItem
{
typedef Classes::TCollectionItem inherited;
private:
AnsiString m_SkinFile;
Suiskinutils::TsuiSkinReader* m_Reader;
void __fastcall ReadSkinData(Classes::TStream* Stream);
void __fastcall WriteSkinData(Classes::TStream* Stream);
protected:
virtual void __fastcall DefineProperties(Classes::TFiler* Filer);
public:
__fastcall virtual TsuiSkinCollectionItem(Classes::TCollection* Collection);
__fastcall virtual ~TsuiSkinCollectionItem(void);
__published:
__property AnsiString SkinFile = {read=m_SkinFile, write=m_SkinFile};
};
#pragma option push -b-
enum TsuiSkinControlMouseState { suiSkinMouseIn, suiSkinMouseDown };
#pragma option pop
class DELPHICLASS TsuiSkinControl;
class PASCALIMPLEMENTATION TsuiSkinControl : public System::TObject
{
typedef System::TObject inherited;
protected:
TsuiSkinWindow* m_SkinWnd;
TsuiSkinEngine* m_Engine;
System::Set<TsuiSkinControlMouseState, suiSkinMouseIn, suiSkinMouseDown> m_MouseState;
bool m_Destroying;
virtual bool __fastcall BeforeDefProc(Messages::TMessage &Message);
virtual void __fastcall AfterDefProc(Messages::TMessage &Message);
virtual void __fastcall PaintControl(void);
virtual void __fastcall MouseEnter(void);
virtual void __fastcall MouseExit(void);
virtual void __fastcall MouseDown(void);
virtual void __fastcall MouseUp(void);
virtual void __fastcall KeyDown(int VKey);
virtual void __fastcall KeyUp(int VKey);
virtual void __fastcall ActiveChanged(void);
virtual void __fastcall DoInit(void);
virtual void __fastcall DoUninit(void);
virtual Types::TRect __fastcall GetClientRect(void) = 0 ;
virtual unsigned __fastcall GetHandle(void) = 0 ;
virtual bool __fastcall Enabled(void) = 0 ;
public:
void __fastcall PaintBG(Graphics::TBitmap* Buf, AnsiString Caption, const Graphics::TFont* Font, const Types::TRect &TextRect);
void __fastcall PaintBGW(Graphics::TBitmap* Buf, WideString Caption, const Graphics::TFont* Font, const Types::TRect &TextRect);
void __fastcall PaintBitmap(Graphics::TBitmap* Buf, const Types::TPoint &Position);
__fastcall virtual ~TsuiSkinControl(void);
virtual bool __fastcall ParnetColor(void);
public:
#pragma option push -w-inl
/* TObject.Create */ inline __fastcall TsuiSkinControl(void) : System::TObject() { }
#pragma option pop
};
class PASCALIMPLEMENTATION TsuiSkinControlVCL : public TsuiSkinControl
{
typedef TsuiSkinControl inherited;
private:
Classes::TWndMethod m_OldWndProc;
void __fastcall NewWndProc(Messages::TMessage &Message);
protected:
Controls::TControl* m_Control;
virtual Types::TRect __fastcall GetClientRect();
virtual bool __fastcall Enabled(void);
virtual unsigned __fastcall GetHandle(void);
public:
__fastcall TsuiSkinControlVCL(Controls::TControl* WinCtrl, TsuiSkinWindow* SkinWnd);
__fastcall virtual ~TsuiSkinControlVCL(void);
};
class PASCALIMPLEMENTATION TsuiSkinControlWnd : public TsuiSkinControl
{
typedef TsuiSkinControl inherited;
private:
void *m_OldWndProc;
void *m_NewWndProc;
void __fastcall NewWndProc(Messages::TMessage &Message);
protected:
unsigned m_CtrlWnd;
virtual Types::TRect __fastcall GetClientRect();
virtual bool __fastcall Enabled(void);
unsigned __fastcall GetEngineBrush(void);
virtual unsigned __fastcall GetHandle(void);
int __fastcall GetWidth(void);
int __fastcall GetHeight(void);
AnsiString __fastcall GetText();
public:
__fastcall TsuiSkinControlWnd(unsigned CtrlWnd, TsuiSkinWindow* SkinWnd);
__fastcall virtual ~TsuiSkinControlWnd(void);
};
class DELPHICLASS TsuiSkinBorderWinControl;
class PASCALIMPLEMENTATION TsuiSkinBorderWinControl : public TsuiSkinControlVCL
{
typedef TsuiSkinControlVCL inherited;
protected:
virtual void __fastcall PaintControl(void);
public:
#pragma option push -w-inl
/* TsuiSkinControlVCL.Create */ inline __fastcall TsuiSkinBorderWinControl(Controls::TControl* WinCtrl, TsuiSkinWindow* SkinWnd) : TsuiSkinControlVCL(WinCtrl, SkinWnd) { }
#pragma option pop
#pragma option push -w-inl
/* TsuiSkinControlVCL.Destroy */ inline __fastcall virtual ~TsuiSkinBorderWinControl(void) { }
#pragma option pop
};
class DELPHICLASS TsuiSkinBorderWndControl;
class PASCALIMPLEMENTATION TsuiSkinBorderWndControl : public TsuiSkinControlWnd
{
typedef TsuiSkinControlWnd inherited;
protected:
virtual void __fastcall PaintControl(void);
public:
#pragma option push -w-inl
/* TsuiSkinControlWnd.Create */ inline __fastcall TsuiSkinBorderWndControl(unsigned CtrlWnd, TsuiSkinWindow* SkinWnd) : TsuiSkinControlWnd(CtrlWnd, SkinWnd) { }
#pragma option pop
#pragma option push -w-inl
/* TsuiSkinControlWnd.Destroy */ inline __fastcall virtual ~TsuiSkinBorderWndControl(void) { }
#pragma option pop
};
class DELPHICLASS TsuiSkinInternalScrollBar;
class DELPHICLASS TsuiSkinScrollWinControl;
class PASCALIMPLEMENTATION TsuiSkinScrollWinControl : public TsuiSkinBorderWinControl
{
typedef TsuiSkinBorderWinControl inherited;
private:
TsuiSkinInternalScrollBar* m_VScroll;
TsuiSkinInternalScrollBar* m_HScroll;
void __fastcall PaintScroll(void);
protected:
virtual void __fastcall AfterDefProc(Messages::TMessage &Message);
virtual void __fastcall PaintControl(void);
virtual void __fastcall ActiveChanged(void);
virtual void __fastcall DoInit(void);
virtual void __fastcall DoUninit(void);
public:
#pragma option push -w-inl
/* TsuiSkinControlVCL.Create */ inline __fastcall TsuiSkinScrollWinControl(Controls::TControl* WinCtrl, TsuiSkinWindow* SkinWnd) : TsuiSkinBorderWinControl(WinCtrl, SkinWnd) { }
#pragma option pop
#pragma option push -w-inl
/* TsuiSkinControlVCL.Destroy */ inline __fastcall virtual ~TsuiSkinScrollWinControl(void) { }
#pragma option pop
};
class PASCALIMPLEMENTATION TsuiSkinInternalScrollBar : public Extctrls::TCustomPanel
{
typedef Extctrls::TCustomPanel inherited;
private:
Controls::TWinControl* m_Ctrl;
Graphics::TBitmap* m_Buf;
TsuiSkinScrollWinControl* m_SkinCtrl;
int m_Type;
HIDESBASE MESSAGE void __fastcall WMLBUTTONDOWN(Messages::TMessage &Msg);
HIDESBASE MESSAGE void __fastcall WMLBUTTONUP(Messages::TMessage &Msg);
HIDESBASE MESSAGE void __fastcall WMERASEBKGND(Messages::TMessage &Msg);
protected:
virtual void __fastcall Paint(void);
public:
__fastcall virtual TsuiSkinInternalScrollBar(Classes::TComponent* AOwner);
__fastcall virtual ~TsuiSkinInternalScrollBar(void);
public:
#pragma option push -w-inl
/* TWinControl.CreateParented */ inline __fastcall TsuiSkinInternalScrollBar(HWND ParentWindow) : Extctrls::TCustomPanel(ParentWindow) { }
#pragma option pop
};
class DELPHICLASS TsuiSkinExtComboboxLikeControl;
class DELPHICLASS TsuiSkinInternalComboButton;
class PASCALIMPLEMENTATION TsuiSkinInternalComboButton : public Extctrls::TCustomPanel
{
typedef Extctrls::TCustomPanel inherited;
private:
Controls::TWinControl* m_Ctrl;
TsuiSkinExtComboboxLikeControl* m_SkinCtrl;
HIDESBASE MESSAGE void __fastcall WMLBUTTONDOWN(Messages::TMessage &Msg);
HIDESBASE MESSAGE void __fastcall WMLBUTTONUP(Messages::TMessage &Msg);
HIDESBASE MESSAGE void __fastcall WMERASEBKGND(Messages::TMessage &Msg);
protected:
virtual void __fastcall Paint(void);
public:
__fastcall virtual TsuiSkinInternalComboButton(Classes::TComponent* AOwner);
__fastcall virtual ~TsuiSkinInternalComboButton(void);
public:
#pragma option push -w-inl
/* TWinControl.CreateParented */ inline __fastcall TsuiSkinInternalComboButton(HWND ParentWindow) : Extctrls::TCustomPanel(ParentWindow) { }
#pragma option pop
};
class PASCALIMPLEMENTATION TsuiSkinExtComboboxLikeControl : public TsuiSkinBorderWinControl
{
typedef TsuiSkinBorderWinControl inherited;
private:
TsuiSkinInternalComboButton* m_Btn;
protected:
virtual void __fastcall AfterDefProc(Messages::TMessage &Message);
virtual void __fastcall PaintControl(void);
virtual void __fastcall ActiveChanged(void);
virtual void __fastcall DoInit(void);
virtual void __fastcall DoUninit(void);
public:
#pragma option push -w-inl
/* TsuiSkinControlVCL.Create */ inline __fastcall TsuiSkinExtComboboxLikeControl(Controls::TControl* WinCtrl, TsuiSkinWindow* SkinWnd) : TsuiSkinBorderWinControl(WinCtrl, SkinWnd) { }
#pragma option pop
#pragma option push -w-inl
/* TsuiSkinControlVCL.Destroy */ inline __fastcall virtual ~TsuiSkinExtComboboxLikeControl(void) { }
#pragma option pop
};
typedef TMetaClass*TsuiSkinControlVCLClass;
typedef TMetaClass*TsuiControlClass;
#pragma pack(push, 4)
struct TsuiSkinCtrlVCLDef
{
TMetaClass*CtrlClass;
TMetaClass*SkinCtrlClass;
} ;
#pragma pack(pop)
typedef TMetaClass*TsuiSkinControlWndClass;
#pragma pack(push, 4)
struct TsuiSkinCtrlWndDef
{
System::SmallString<64> CtrlClass;
TMetaClass*SkinCtrlClass;
} ;
#pragma pack(pop)
//-- var, const, procedure ---------------------------------------------------
static const Word SUIM_ACTIVED = 0x2aab;
static const Word SUIM_PAINTCONTROL = 0x2aac;
extern PACKAGE bool g_ShowMDIControlButtons;
extern PACKAGE void __fastcall RegisterSkinControlClass(const TsuiSkinCtrlVCLDef * Defs, const int Defs_Size)/* overload */;
extern PACKAGE void __fastcall RegisterSkinControlClass(const TsuiSkinCtrlWndDef * Defs, const int Defs_Size)/* overload */;
extern PACKAGE void __fastcall RegisterBorderFilterClass(AnsiString ClassName);
extern PACKAGE void __fastcall RegisterDisabledClass(AnsiString ClassName);
extern PACKAGE void __fastcall RegisterDlgFormClass(AnsiString ClassName);
} /* namespace Suiskinengine */
using namespace Suiskinengine;
#pragma option pop // -w-
#pragma option pop // -Vx
#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif // SUISkinEngine
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -