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

📄 sskinprovider.hpp

📁 I mComputermaster programmisDelphi+pascal
💻 HPP
📖 第 1 页 / 共 2 页
字号:
// Borland C++ Builder
// Copyright (c) 1995, 2002 by Borland Software Corporation
// All rights reserved

// (DO NOT EDIT: machine generated header) 'sSkinProvider.pas' rev: 6.00

#ifndef sSkinProviderHPP
#define sSkinProviderHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <acSBUtils.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <sCommonData.hpp>	// Pascal unit
#include <sConst.hpp>	// Pascal unit
#include <sSkinManager.hpp>	// Pascal unit
#include <sSkinMenus.hpp>	// Pascal unit
#include <Menus.hpp>	// Pascal unit
#include <sDefaults.hpp>	// Pascal unit
#include <Dialogs.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <SysUtils.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.hpp>	// Pascal unit

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

namespace Sskinprovider
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TacAdapterItem;
class DELPHICLASS TacCtrlAdapter;
typedef DynamicArray<TacAdapterItem* >  TacAdapterItems;

class DELPHICLASS TsSkinProvider;
class DELPHICLASS TsTitleIcon;
class PASCALIMPLEMENTATION TsTitleIcon : public Classes::TPersistent 
{
	typedef Classes::TPersistent inherited;
	
private:
	Graphics::TBitmap* FGlyph;
	int FHeight;
	int FWidth;
	void __fastcall SetGlyph(const Graphics::TBitmap* Value);
	void __fastcall SetHeight(const int Value);
	void __fastcall SetWidth(const int Value);
	
public:
	__fastcall TsTitleIcon(void);
	__fastcall virtual ~TsTitleIcon(void);
	
__published:
	__property Graphics::TBitmap* Glyph = {read=FGlyph, write=SetGlyph};
	__property int Height = {read=FHeight, write=SetHeight, default=0};
	__property int Width = {read=FWidth, write=SetWidth, default=0};
};


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


#pragma option push -b-
enum TsGripMode { gmNone, gmRightBottom };
#pragma option pop

#pragma option push -b-
enum TsResizeMode { rmStandard, rmBorder };
#pragma option pop

typedef void __fastcall (__closure *TAddItemEvent)(Classes::TComponent* Item, bool &CanBeAdded, AnsiString &SkinSection);

#pragma pack(push, 4)
struct TsCaptionButton
{
	int State;
	int ImageIndex;
	Types::TRect Rect;
	bool HaveAlignment;
} ;
#pragma pack(pop)

class DELPHICLASS TsSystemMenu;
class PASCALIMPLEMENTATION TsSystemMenu : public Menus::TPopupMenu 
{
	typedef Menus::TPopupMenu inherited;
	
public:
	TsSkinProvider* FOwner;
	Forms::TCustomForm* FForm;
	Menus::TMenuItem* ItemRestore;
	Menus::TMenuItem* ItemMove;
	Menus::TMenuItem* ItemSize;
	Menus::TMenuItem* ItemMinimize;
	Menus::TMenuItem* ItemMaximize;
	Menus::TMenuItem* ItemClose;
	__fastcall virtual TsSystemMenu(Classes::TComponent* AOwner);
	HIDESBASE void __fastcall UpdateItems(void);
	void __fastcall UpdateGlyphs(void);
	void __fastcall MakeSkinItems(void);
	bool __fastcall VisibleRestore(void);
	bool __fastcall VisibleSize(void);
	bool __fastcall VisibleMin(void);
	bool __fastcall VisibleMax(void);
	bool __fastcall VisibleClose(void);
	bool __fastcall EnabledRestore(void);
	bool __fastcall EnabledMove(void);
	bool __fastcall EnabledSize(void);
	bool __fastcall EnabledMin(void);
	bool __fastcall EnabledMax(void);
	void __fastcall RestoreClick(System::TObject* Sender);
	void __fastcall MoveClick(System::TObject* Sender);
	void __fastcall SizeClick(System::TObject* Sender);
	void __fastcall MinClick(System::TObject* Sender);
	void __fastcall MaxClick(System::TObject* Sender);
	void __fastcall CloseClick(System::TObject* Sender);
	void __fastcall SkinSelect(System::TObject* Sender);
public:
	#pragma option push -w-inl
	/* TPopupMenu.Destroy */ inline __fastcall virtual ~TsSystemMenu(void) { }
	#pragma option pop
	
};


class PASCALIMPLEMENTATION TsSkinProvider : public Classes::TComponent 
{
	typedef Classes::TComponent inherited;
	
private:
	DynamicArray<Types::TRect >  ArOR;
	bool RgnChanged;
	int CurrentHT;
	Graphics::TBitmap* TempBmp;
	bool FMakeSkinMenu;
	bool FShowAppIcon;
	bool ControlsChanged;
	bool HaveSysMenu;
	Classes::TAlignment FCaptionAlignment;
	TsTitleIcon* FTitleIcon;
	TsTitleButtons* FTitleButtons;
	TsGripMode FGripMode;
	Scommondata::TsCommonData* FCommonData;
	TsResizeMode FResizeMode;
	bool FirstInitialized;
	bool FScreenSnap;
	int FSnapBuffer;
	bool FUseGlobalColor;
	AnsiString FTitleSkin;
	AnsiString FMenuLineSkin;
	int UserBtnIndex;
	TAddItemEvent FOnSkinItem;
	void __fastcall SetCaptionAlignment(const Classes::TAlignment Value);
	void __fastcall SetShowAppIcon(const bool Value);
	void __fastcall SetTitleButtons(const TsTitleButtons* Value);
	void __fastcall SetUseGlobalColor(const bool Value);
	int __fastcall GetLinesCount(void);
	void __fastcall SetTitleSkin(const AnsiString Value);
	void __fastcall SetMenuLineSkin(const AnsiString Value);
	
protected:
	bool DwmInitialized;
	bool ClearButtons;
	bool MenusInitialized;
	bool RegionChanged;
	bool CaptChanged;
	bool CaptRgnChanged;
	TsCaptionButton ButtonMin;
	TsCaptionButton ButtonMax;
	TsCaptionButton ButtonClose;
	TsCaptionButton ButtonHelp;
	TsCaptionButton MDIMin;
	TsCaptionButton MDIMax;
	TsCaptionButton MDIClose;
	#pragma pack(push, 1)
	Types::TRect LastClientRect;
	#pragma pack(pop)
	
	void __fastcall AdapterRemove(void);
	virtual void __fastcall AdapterCreate(void);
	void __fastcall SendToAdapter(const Messages::TMessage &Message);
	void __fastcall PaintAll(void);
	void __fastcall PaintForm(HDC DC, bool SendUpdated = true);
	void __fastcall PaintCaption(HDC dc);
	void __fastcall PrepareCaption(const Sconst::TCacheInfo &CI, const Types::TRect &R);
	void __fastcall PaintBorderIcons(void);
	void __fastcall RepaintButton(int i);
	void __fastcall RepaintMenuItem(Menus::TMenuItem* mi, const Types::TRect &R, Windows::TOwnerDrawState State);
	void __fastcall MakeTitleBG(void);
	void __fastcall SaveBGForBtns(bool Full = false);
	void __fastcall RestoreBtnsBG(void);
	void __fastcall OurPaintHandler(const Messages::TWMPaint &Msg);
	void __fastcall AC_WMEraseBkGnd(const HDC aDC);
	void __fastcall AC_WMNCPaint(void);
	int __fastcall HTProcess(const Messages::TWMNCHitTest &Message);
	bool __fastcall AboveBorder(const Messages::TWMNCHitTest &Message);
	Types::TPoint __fastcall CursorToPoint(int x, int y);

⌨️ 快捷键说明

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