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

📄 winsubclass.hpp

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

// (DO NOT EDIT: machine generated header) 'WinSubClass.pas' rev: 5.00

#ifndef WinSubClassHPP
#define WinSubClassHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <Grids.hpp>	// Pascal unit
#include <Dialogs.hpp>	// Pascal unit
#include <TypInfo.hpp>	// Pascal unit
#include <Tabs.hpp>	// Pascal unit
#include <WinSkinData.hpp>	// Pascal unit
#include <ImgList.hpp>	// Pascal unit
#include <Commctrl.hpp>	// Pascal unit
#include <Buttons.hpp>	// Pascal unit
#include <StdCtrls.hpp>	// Pascal unit
#include <ExtCtrls.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Menus.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <ComCtrls.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <SysUtils.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.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:
	System::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 Windows::TRect &rc);
	void __fastcall FillParentBG(HDC dc, const Windows::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 Windows::TRect &rc, unsigned uFormat);
		
	
public:
	Winskindata::TSkinData* fsd;
	HWND hwnd;
	Controls::TWndMethod OldWndProc;
	Controls::TWinControl* control;
	Windows::TRect boundsrect;
	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);
	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);
	virtual void __fastcall DrawControl(HDC dc, const Windows::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 Windows::TRect &rc, Winskindata::TDataSkinObject* 
		aObject, int I, int N, int trans);
	void __fastcall DrawSkinMap(HDC dc, const Windows::TRect &rc, Winskindata::TDataSkinObject* aObject
		, int I, int N);
	void __fastcall DrawSkinMap1(HDC dc, const Windows::TRect &rc, Graphics::TBitmap* bmp, int I, int N
		);
	void __fastcall DrawSkinMap2(HDC dc, const Windows::TRect &rc, Graphics::TBitmap* bmp, int I, int N
		);
	void __fastcall DrawSkin(const Windows::TRect &rc, Winskindata::TDataSkinObject* aObject, int I, int 
		N, int trans);
	void __fastcall DrawSkinMap3(Graphics::TCanvas* acanvas, const Windows::TRect &rc, Graphics::TBitmap* 
		bmp, int I, int N);
	void __fastcall DrawBuf(HDC dc, const Windows::TRect &rc);
	void __fastcall DrawCaption(Graphics::TCanvas* acanvas, const Windows::TRect &rc, WideString text, 
		bool enabled, bool defaulted, Word Alignment);
	void __fastcall DrawImgCaption(Graphics::TCanvas* acanvas, const Windows::TRect &rc, unsigned ImgList
		, int imgIndex, WideString text, int talign);
	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;
	System::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 Windows::TRect &rc);
	
public:
	__fastcall virtual ~TSkinDateTime(void);
	virtual void __fastcall Init(Classes::TComponent* sf, Winskindata::TSkinData* sd, Graphics::TCanvas* 
		acanvas, bool acolor);
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;
	Windows::TPoint OffsetSC;
	Windows::TPoint trackp;
	int trackthumb;
	bool fdown;
	int sbDir;
	bool ERASEBKGND;
	int scrollpos;
	virtual void __fastcall Paint(void);
	void __fastcall GetThumb(const Windows::TRect &rc);
	int __fastcall GetScrollPos(const Windows::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;
	Windows::TRect sbRect;
	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 Windows::TRect &rc, AnsiString text, 
		Word Alignment);
	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);
	virtual bool __fastcall BeforeProc(Messages::TMessage &Message);
	virtual void __fastcall AfterProc(Messages::TMessage &Message);
	virtual void __fastcall DrawControl(HDC dc, const Windows::TRect &rc);
};


class DELPHICLASS TSkinBitButton;
class PASCALIMPLEMENTATION TSkinBitButton : public TSkinButton 
{
	typedef TSkinButton inherited;
	
protected:
	void __fastcall DrawGlyph(Graphics::TCanvas* acanvas, const Windows::TRect &rc, Graphics::TBitmap* 
		bmp, int I, int N);
	void __fastcall DrawPicControl(HDC dc, const Windows::TRect &rc);
	
public:
	bool isPicture;
	AnsiString PicField;
	virtual void __fastcall DrawControl(HDC dc, const Windows::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
{
	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;
	virtual void __fastcall Paint(void);
	void __fastcall DrawButton(Graphics::TCanvas* acanvas, TMPBtnType Btn, const Windows::TRect &R);
	
public:
	Controls::TWinControl* obj;
	TSkinControl* skincontrol;
	__fastcall virtual TWMediaPlayer(Classes::TComponent* AOwner);
	__fastcall virtual ~TWMediaPlayer(void);
	void __fastcall Attach(TSkinControl* askin, Controls::TWinControl* aObj);

⌨️ 快捷键说明

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