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

📄 winsubclass.hpp

📁 delphi皮肤控件,很好的.我正在使用当中
💻 HPP
📖 第 1 页 / 共 3 页
字号:
// Borland C++ Builder
// Copyright (c) 1995, 2005 by Borland Software Corporation
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Winsubclass.pas' rev: 10.00

#ifndef WinsubclassHPP
#define WinsubclassHPP

#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 <Windows.hpp>	// Pascal unit
#include <Sysutils.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Comctrls.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <Menus.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Extctrls.hpp>	// Pascal unit
#include <Stdctrls.hpp>	// Pascal unit
#include <Buttons.hpp>	// Pascal unit
#include <Commctrl.hpp>	// Pascal unit
#include <Imglist.hpp>	// Pascal unit
#include <Winskindata.hpp>	// Pascal unit
#include <Tabs.hpp>	// Pascal unit
#include <Typinfo.hpp>	// Pascal unit
#include <Dialogs.hpp>	// Pascal unit
#include <Grids.hpp>	// Pascal unit

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

namespace Winsubclass
{
//-- type declarations -------------------------------------------------------
#pragma option push -b-
enum TSkinControlState { scMouseIn, scDown };
#pragma option pop

class DELPHICLASS TAcControl;
class PASCALIMPLEMENTATION TAcControl : public Controls::TControl 
{
	typedef Controls::TControl inherited;
	
public:
	#pragma option push -w-inl
	/* TControl.Create */ inline __fastcall virtual TAcControl(Classes::TComponent* AOwner) : Controls::TControl(AOwner) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TControl.Destroy */ inline __fastcall virtual ~TAcControl(void) { }
	#pragma option pop
	
};


class DELPHICLASS TAcWinControl;
class PASCALIMPLEMENTATION TAcWinControl : public Controls::TWinControl 
{
	typedef Controls::TWinControl inherited;
	
public:
	#pragma option push -w-inl
	/* TWinControl.Create */ inline __fastcall virtual TAcWinControl(Classes::TComponent* AOwner) : Controls::TWinControl(AOwner) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TAcWinControl(HWND ParentWindow) : Controls::TWinControl(ParentWindow) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TWinControl.Destroy */ inline __fastcall virtual ~TAcWinControl(void) { }
	#pragma option pop
	
};


class DELPHICLASS TAcGraphicControl;
class PASCALIMPLEMENTATION TAcGraphicControl : public Controls::TGraphicControl 
{
	typedef Controls::TGraphicControl inherited;
	
public:
	#pragma option push -w-inl
	/* TGraphicControl.Create */ inline __fastcall virtual TAcGraphicControl(Classes::TComponent* AOwner) : Controls::TGraphicControl(AOwner) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TGraphicControl.Destroy */ inline __fastcall virtual ~TAcGraphicControl(void) { }
	#pragma option pop
	
};


class DELPHICLASS TSkinAcListView;
class PASCALIMPLEMENTATION TSkinAcListView : public Comctrls::TCustomListView 
{
	typedef Comctrls::TCustomListView inherited;
	
public:
	#pragma option push -w-inl
	/* TCustomListView.Create */ inline __fastcall virtual TSkinAcListView(Classes::TComponent* AOwner) : Comctrls::TCustomListView(AOwner) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TCustomListView.Destroy */ inline __fastcall virtual ~TSkinAcListView(void) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TSkinAcListView(HWND ParentWindow) : Comctrls::TCustomListView(ParentWindow) { }
	#pragma option pop
	
};


class DELPHICLASS TSkinControl;
class PASCALIMPLEMENTATION TSkinControl : public Classes::TComponent 
{
	typedef Classes::TComponent inherited;
	
protected:
	Set<TSkinControlState, scMouseIn, scDown>  state;
	Graphics::TCanvas* fCanvas;
	bool done;
	bool isdraw;
	bool enabled;
	bool focused;
	WideString caption;
	void *FObjectInst;
	void *FPrevWndProc;
	bool skinned;
	bool isunicode;
	void __fastcall FillBG(HDC dc, const Types::TRect &rc);
	void __fastcall FillParentBG(HDC dc, const Types::TRect &rc);
	void __fastcall doLogMsg(AnsiString aid, const Messages::TMessage &msg);
	void __fastcall Default(Messages::TMessage &Msg);
	void __fastcall Invalidate(void);
	void __fastcall WMPaint(const Messages::TMessage &message);
	void __fastcall WMERASEBKGND(Messages::TMessage &Msg);
	int __fastcall GetWindowLongEx(HWND ahWnd, int nIndex);
	void __fastcall SetParentBK(bool value);
	void __fastcall DrawFocus(HDC hDC, WideString wString, const Types::TRect &rc, unsigned uFormat);
	
public:
	Winskindata::TSkinData* fsd;
	HWND hwnd;
	Classes::TWndMethod OldWndProc;
	Controls::TWinControl* control;
	#pragma pack(push,1)
	Types::TRect boundsrect;
	#pragma pack(pop)
	Controls::TGraphicControl* GControl;
	bool newColor;
	Graphics::TColor oldcolor;
	bool Inited;
	int skinstate;
	Classes::TComponent* skinform;
	int kind;
	bool sizing;
	bool parentbk;
	__fastcall virtual TSkinControl(Classes::TComponent* AOwner);
	__fastcall virtual ~TSkinControl(void);
	virtual void __fastcall Init(Classes::TComponent* sf, Winskindata::TSkinData* sd, Graphics::TCanvas* acanvas, bool acolor = false);
	virtual void __fastcall Inithwnd(unsigned ahwnd, Winskindata::TSkinData* sd, Graphics::TCanvas* acanvas, Classes::TComponent* sf);
	void __fastcall MouseLeave(void);
	virtual void __fastcall Unsubclass(void);
	void __fastcall NewWndProc(Messages::TMessage &Message);
	virtual bool __fastcall BeforeProc(Messages::TMessage &Message);
	virtual void __fastcall AfterProc(Messages::TMessage &Message);
	virtual void __fastcall PaintControl(HDC adc = (HDC)(0x0));
	virtual void __fastcall DrawControl(HDC dc, const Types::TRect &rc);
	virtual void __fastcall SkinChange(void);
	virtual int __fastcall GetState(void);
	void __fastcall SetColor(void);
	void __fastcall RestoreColor(void);
	void __fastcall DrawBMPSkin(Graphics::TBitmap* abmp, const Types::TRect &rc, Winskindata::TDataSkinObject* aObject, int I, int N, int trans);
	void __fastcall DrawSkinMap(HDC dc, const Types::TRect &rc, Winskindata::TDataSkinObject* aObject, int I, int N);
	void __fastcall DrawSkinMap1(HDC dc, const Types::TRect &rc, Graphics::TBitmap* bmp, int I, int N);
	void __fastcall DrawSkinMap2(HDC dc, const Types::TRect &rc, Graphics::TBitmap* bmp, int I, int N);
	void __fastcall DrawSkin(const Types::TRect &rc, Winskindata::TDataSkinObject* aObject, int I, int N, int trans);
	void __fastcall DrawSkinMap3(Graphics::TCanvas* acanvas, const Types::TRect &rc, Graphics::TBitmap* bmp, int I, int N);
	void __fastcall DrawBuf(HDC dc, const Types::TRect &rc);
	void __fastcall DrawCaption(Graphics::TCanvas* acanvas, const Types::TRect &rc, WideString text, bool enabled, bool defaulted, Word Alignment = (Word)(0x1));
	void __fastcall DrawImgCaption(Graphics::TCanvas* acanvas, const Types::TRect &rc, unsigned ImgList, int imgIndex, WideString text, int talign = 0x1);
	int __fastcall TextHeight(HDC dc, const AnsiString s);
	Graphics::TColor __fastcall GetParentColor(Graphics::TColor acolor);
	unsigned __fastcall CheckBiDi(unsigned dw);
};


class DELPHICLASS TArrowButton;
class PASCALIMPLEMENTATION TArrowButton : public Controls::TCustomControl 
{
	typedef Controls::TCustomControl inherited;
	
private:
	HIDESBASE MESSAGE void __fastcall WMLButtonDown(Messages::TMessage &aMsg);
	HIDESBASE MESSAGE void __fastcall WMLButtonUP(Messages::TMessage &aMsg);
	HIDESBASE MESSAGE void __fastcall CMMouseEnter(Messages::TMessage &aMsg);
	HIDESBASE MESSAGE void __fastcall CMMouseLeave(Messages::TMessage &aMsg);
	
protected:
	virtual void __fastcall Paint(void);
	
public:
	int cw;
	Controls::TWinControl* control;
	TSkinControl* obj;
	unsigned hwnd;
	Set<TSkinControlState, scMouseIn, scDown>  state;
	__fastcall virtual TArrowButton(Classes::TComponent* AOwner);
	__fastcall virtual ~TArrowButton(void);
	void __fastcall Attach(TSkinControl* aobj, Controls::TWinControl* acontrol);
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TArrowButton(HWND ParentWindow) : Controls::TCustomControl(ParentWindow) { }
	#pragma option pop
	
};


class DELPHICLASS TSkinDateTime;
class PASCALIMPLEMENTATION TSkinDateTime : public TSkinControl 
{
	typedef TSkinControl inherited;
	
protected:
	TArrowButton* arrow;
	virtual void __fastcall DrawControl(HDC dc, const Types::TRect &rc);
	
public:
	__fastcall virtual ~TSkinDateTime(void);
	virtual void __fastcall Init(Classes::TComponent* sf, Winskindata::TSkinData* sd, Graphics::TCanvas* acanvas, bool acolor = false);
public:
	#pragma option push -w-inl
	/* TSkinControl.Create */ inline __fastcall virtual TSkinDateTime(Classes::TComponent* AOwner) : TSkinControl(AOwner) { }
	#pragma option pop
	
};


class DELPHICLASS TWScrollbar;
class PASCALIMPLEMENTATION TWScrollbar : public Extctrls::TCustomPanel 
{
	typedef Extctrls::TCustomPanel inherited;
	
private:
	HIDESBASE MESSAGE void __fastcall WMLButtonDown(Messages::TMessage &aMsg);
	HIDESBASE MESSAGE void __fastcall WMMouseMove(Messages::TMessage &aMsg);
	MESSAGE void __fastcall WMMouseLeave(Messages::TMessage &aMsg);
	MESSAGE void __fastcall WMLButtonDBClick(Messages::TMessage &aMsg);
	HIDESBASE MESSAGE void __fastcall WMLButtonUp(Messages::TMessage &aMsg);
	HIDESBASE MESSAGE void __fastcall WMERASEBKGND(Messages::TMessage &Msg);
	
protected:
	int Len;
	int thumbTop;
	int thumbbottom;
	#pragma pack(push,1)
	Types::TPoint OffsetSC;
	#pragma pack(pop)
	#pragma pack(push,1)
	Types::TPoint trackp;
	#pragma pack(pop)
	int trackthumb;
	bool fdown;
	int sbDir;
	bool ERASEBKGND;
	int scrollpos;
	virtual void __fastcall Paint(void);
	void __fastcall GetThumb(const Types::TRect &rc);
	int __fastcall GetScrollPos(const Types::TPoint &p);
	bool __fastcall GetControlInfo(tagSCROLLBARINFO &info);
	bool __fastcall GetControlInfo2(tagSCROLLBARINFO &info);
	virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
	
public:
	int CW;
	unsigned hwnd;
	Controls::TWinControl* control;
	TSkinControl* obj;
	Byte sbType;
	#pragma pack(push,1)
	Types::TRect sbRect;
	#pragma pack(pop)
	bool sbVisible;
	__fastcall virtual TWScrollbar(Classes::TComponent* AOwner);
	__fastcall virtual ~TWScrollbar(void);
	void __fastcall Attach(TSkinControl* aobj, Controls::TWinControl* aControl, Byte aType);
	void __fastcall AttachHwnd(TSkinControl* aobj, unsigned ahwnd, Byte aType);
	void __fastcall SetPosition(unsigned ahwnd);
	void __fastcall ButtonUp(void);
	void __fastcall HideScrollbar(void);
	void __fastcall DoLog(const Messages::TMessage &Message);
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TWScrollbar(HWND ParentWindow) : Extctrls::TCustomPanel(ParentWindow) { }
	#pragma option pop
	
};


class DELPHICLASS TSkinButton;
class PASCALIMPLEMENTATION TSkinButton : public TSkinControl 
{
	typedef TSkinControl inherited;
	
protected:
	Graphics::TBitmap* btemp;
	bool MultiLine;
	bool trans;
	bool redraw;
	bool isdefault;
	void __fastcall DrawBtnText(Graphics::TCanvas* acanvas, const Types::TRect &rc, AnsiString text, Word Alignment = (Word)(0x1));
	void __fastcall DoMouseDown(Messages::TWMMouse &Message);
	void __fastcall WMEnable(Messages::TMessage &Message);
	void __fastcall SetRedraw(bool b);
	
public:
	__fastcall virtual TSkinButton(Classes::TComponent* AOwner);
	__fastcall virtual ~TSkinButton(void);
	virtual void __fastcall Init(Classes::TComponent* sf, Winskindata::TSkinData* sd, Graphics::TCanvas* acanvas, bool acolor = false);
	virtual bool __fastcall BeforeProc(Messages::TMessage &Message);
	virtual void __fastcall AfterProc(Messages::TMessage &Message);
	virtual void __fastcall DrawControl(HDC dc, const Types::TRect &rc);
};


class DELPHICLASS TSkinBitButton;
class PASCALIMPLEMENTATION TSkinBitButton : public TSkinButton 
{
	typedef TSkinButton inherited;
	
protected:
	void __fastcall DrawGlyph(Graphics::TCanvas* acanvas, const Types::TRect &rc, Graphics::TBitmap* bmp, int I, int N);
	void __fastcall DrawPicControl(HDC dc, const Types::TRect &rc);
	
public:
	bool isPicture;
	AnsiString PicField;
	virtual void __fastcall DrawControl(HDC dc, const Types::TRect &rc);
public:
	#pragma option push -w-inl
	/* TSkinButton.Create */ inline __fastcall virtual TSkinBitButton(Classes::TComponent* AOwner) : TSkinButton(AOwner) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TSkinButton.Destroy */ inline __fastcall virtual ~TSkinBitButton(void) { }
	#pragma option pop
	
};


#pragma option push -b-
enum TMPBtnType { btPlay, btPause, btStop, btNext, btPrev, btStep, btBack, btRecord, btEject };
#pragma option pop

typedef Set<TMPBtnType, btPlay, btEject>  TButtonSet;

#pragma option push -b-
enum TMPGlyph { mgEnabled, mgDisabled, mgColored };
#pragma option pop

struct TMPButton
{
	
public:
	bool Visible;
	bool Enabled;
	bool Colored;
	bool Auto;
	Graphics::TBitmap* Bitmaps[3];
} ;

class DELPHICLASS TWMediaPlayer;
class PASCALIMPLEMENTATION TWMediaPlayer : public Extctrls::TCustomPanel 
{
	typedef Extctrls::TCustomPanel inherited;
	
private:
	HIDESBASE MESSAGE void __fastcall WMLButtonDown(Messages::TMessage &aMsg);
	HIDESBASE MESSAGE void __fastcall WMLButtonUp(Messages::TMessage &aMsg);
	void __fastcall LoadBitmaps(void);
	void __fastcall DestroyBitmaps(void);
	void __fastcall CheckButtons(void);
	void __fastcall FindButton(int XPos, int YPos);
	
protected:
	TMPButton Buttons[9];
	int count;
	Winskindata::TSkinData* fsd;
	bool IsDown;
	TMPBtnType BtnClick;
	TMPBtnType BtnFocuse;
	int BtnWidth;

⌨️ 快捷键说明

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