📄 suiskinengine.hpp
字号:
// Borland C++ Builder
// Copyright (c) 1995, 2002 by Borland Software Corporation
// All rights reserved
// (DO NOT EDIT: machine generated header) 'SUISkinEngine.pas' rev: 6.00
#ifndef SUISkinEngineHPP
#define SUISkinEngineHPP
#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <ToolWin.hpp> // Pascal unit
#include <Dialogs.hpp> // Pascal unit
#include <SUISkinUtils.hpp> // Pascal unit
#include <StdCtrls.hpp> // Pascal unit
#include <CommCtrl.hpp> // Pascal unit
#include <Mask.hpp> // Pascal unit
#include <AppEvnts.hpp> // Pascal unit
#include <ExtCtrls.hpp> // Pascal unit
#include <TypInfo.hpp> // Pascal unit
#include <Controls.hpp> // Pascal unit
#include <ComCtrls.hpp> // Pascal unit
#include <ImgList.hpp> // Pascal unit
#include <Menus.hpp> // Pascal unit
#include <Math.hpp> // Pascal unit
#include <Graphics.hpp> // Pascal unit
#include <Forms.hpp> // Pascal unit
#include <SysUtils.hpp> // Pascal unit
#include <Classes.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 Suiskinengine
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TsuiSkinEngine;
class DELPHICLASS TsuiSkinWindow;
class PASCALIMPLEMENTATION TsuiSkinWindow : public Classes::TComponent
{
typedef Classes::TComponent inherited;
protected:
TsuiSkinEngine* m_Engine;
bool m_TitleVisible;
bool m_BorderVisible;
bool m_Destroying;
bool m_Creating;
int m_ClientHeight;
int m_ClientWidth;
bool m_ForDialog;
Classes::TList* m_SkinCtrlList;
bool m_CanMax;
bool m_DrawMax;
bool m_DrawMin;
bool m_DrawClose;
int m_InButtons;
bool m_NCMouseDown;
bool m_FormActive;
bool m_Active;
bool m_SavedWndStyle;
bool m_MaxFlag;
void __fastcall SetActive(const bool Value);
int __fastcall GetWidth(void);
int __fastcall GetHeight(void);
AnsiString __fastcall GetCaption();
void __fastcall SetTitleVisible(const bool Value);
int __fastcall GetTitleHeight(void);
void __fastcall SetBorderVisible(const bool Value);
void __fastcall NewWndProc(Messages::TMessage &Msg);
void __fastcall DoMax(void);
void __fastcall DoMin(void);
void __fastcall DoClose(void);
void __fastcall DoSysMenu(void)/* overload */;
void __fastcall DoSysMenu(const Types::TPoint &P)/* overload */;
void __fastcall DoHelp(void);
void __fastcall SaveWndStyle(void);
int m_OldNCHeight;
void __fastcall RegionWindow(void);
void __fastcall PaintTitle(void);
virtual void __fastcall ActiveChanged(void) = 0 ;
virtual void __fastcall CallDefaultWndProc(Messages::TMessage &Msg) = 0 ;
virtual void __fastcall DoSaveWndStyle(void);
virtual void __fastcall InitControls(void) = 0 ;
virtual void __fastcall UnInitControls(void) = 0 ;
virtual bool __fastcall CanRegionWindow(void);
virtual int __fastcall GetMenuHeight(void);
virtual unsigned __fastcall GetHasFormIcon(void);
virtual bool __fastcall GetDrawHelpButton(void);
virtual bool __fastcall GetIsMDIForm(void);
virtual bool __fastcall GetIsMDIChild(void);
virtual bool __fastcall GetIsDialog(void);
virtual bool __fastcall DrawControlBox(void);
virtual bool __fastcall DrawCloseButton(void);
virtual bool __fastcall DrawMaxButton(void);
virtual bool __fastcall DrawMinButton(void);
virtual bool __fastcall CanSaveWndStyle(void);
virtual unsigned __fastcall GetHandle(void) = 0 ;
virtual bool __fastcall BeforeDefaultWndProc(Messages::TMessage &Msg);
virtual void __fastcall AfterDefaultWndProc(Messages::TMessage &Msg);
virtual void __fastcall Init(unsigned hWnd) = 0 ;
virtual void __fastcall Uninit(void) = 0 ;
public:
__fastcall TsuiSkinWindow(unsigned hWnd, TsuiSkinEngine* Engine, bool ForDialog);
__fastcall virtual ~TsuiSkinWindow(void);
__property bool TitleVisible = {read=m_TitleVisible, write=SetTitleVisible, nodefault};
__property bool BorderVisible = {read=m_BorderVisible, write=SetBorderVisible, nodefault};
__property int TitleHeight = {read=GetTitleHeight, nodefault};
__property int MenuHeight = {read=GetMenuHeight, nodefault};
};
class DELPHICLASS TsuiSkinCollection;
class DELPHICLASS TsuiSkinCollectionItem;
class PASCALIMPLEMENTATION TsuiSkinCollection : public Classes::TCollection
{
typedef Classes::TCollection inherited;
private:
TsuiSkinEngine* m_SkinEngine;
protected:
HIDESBASE TsuiSkinCollectionItem* __fastcall GetItem(int Index);
HIDESBASE void __fastcall SetItem(int Index, TsuiSkinCollectionItem* Value);
virtual void __fastcall Update(Classes::TCollectionItem* Item);
DYNAMIC Classes::TPersistent* __fastcall GetOwner(void);
public:
__fastcall TsuiSkinCollection(TsuiSkinEngine* SkinEngine);
__fastcall virtual ~TsuiSkinCollection(void);
HIDESBASE TsuiSkinCollectionItem* __fastcall Add(void);
__property TsuiSkinCollectionItem* Items[int Index] = {read=GetItem, write=SetItem};
};
class PASCALIMPLEMENTATION TsuiSkinEngine : public Classes::TComponent
{
typedef Classes::TComponent inherited;
private:
bool m_Active;
Classes::TList* m_WndList;
Suiskinutils::TsuiSkinReader* m_SkinReader;
Suiskinutils::TsuiSkinReader* m_MainReader;
AnsiString m_SkinFile;
Menus::TPopupMenu* m_InternalSysMenu;
Menus::TPopupMenu* m_CustomSysMenu;
TsuiSkinWindow* m_PopSysMenuWnd;
Suiskinutils::TsuiSkinScrollBtnRes* m_ScrollBtnRes;
Suiskinutils::TsuiSkinTabRes* m_TabRes;
bool m_BuiltIn;
bool m_SkinDialogs;
bool m_SkinAllForms;
TsuiSkinCollection* m_AdditionalBuiltInSkins;
Classes::TNotifyEvent m_OnSkinChanged;
unsigned m_Brush;
bool m_RemovingWnd;
Graphics::TBitmap* m_BorderBuf;
int m_FormCaptionPosX;
int m_FormCaptionPosY;
int m_TitleHeight;
int m_BorderWidth;
int m_BottomBorderWidth;
Graphics::TColor m_FormCaptionFontColor;
AnsiString m_ResSysMenuMin;
AnsiString m_ResSysMenuMax;
AnsiString m_ResSysMenuClose;
int m_DisabledTag;
bool m_DrawScrollBar;
void __fastcall SetActive(const bool Value);
bool __fastcall GetRealActive(void);
bool __fastcall GetReady(void);
Graphics::TColor __fastcall GetMenuBarColor(void);
Graphics::TColor __fastcall GetTitleFontColor(void);
AnsiString __fastcall GetVersion();
void __fastcall SetBuiltIn(const bool Value);
void __fastcall SetVersion(const AnsiString Value);
void __fastcall SetReady(const bool Value);
void __fastcall SetSkinFile(const AnsiString Value);
Menus::TPopupMenu* __fastcall GetSysMenu(void);
void __fastcall SetSysMenu(const Menus::TPopupMenu* Value);
void __fastcall SetResSysMenuClose(const AnsiString Value);
void __fastcall SetResSysMenuMax(const AnsiString Value);
void __fastcall SetResSysMenuMin(const AnsiString Value);
void __fastcall SetFormCaptionFontColor(const Graphics::TColor Value);
void __fastcall SetDrawScrollBar(const bool Value);
void __fastcall SetAdditionalBuiltInSkins(const TsuiSkinCollection* Value);
void __fastcall SetSkinAllForms(const bool Value);
int __fastcall GetSkinnedFormsCount(void);
void __fastcall DoAddWnd(unsigned hWnd, bool ForDialog);
void __fastcall DoRemoveWnd(unsigned hWnd);
void __fastcall ReadSkinData(Classes::TStream* Stream);
void __fastcall WriteSkinData(Classes::TStream* Stream);
void __fastcall OnInternalSkinChanged(System::TObject* Sender);
void __fastcall OnMin(System::TObject* Sender);
void __fastcall OnMax(System::TObject* Sender);
void __fastcall OnClose(System::TObject* Sender);
void __fastcall OnSysMenuPopup(System::TObject* Sender);
void __fastcall InitMenu(Menus::TMenu* Menu);
void __fastcall UnInitMenu(Menus::TMenu* Menu);
void __fastcall InitMenuItem(Menus::TMenuItem* MenuItem);
void __fastcall UnInitMenuItem(Menus::TMenuItem* MenuItem);
void __fastcall DrawPopMenuItem(System::TObject* Sender, Graphics::TCanvas* ACanvas, const Types::TRect &ARect, bool Selected);
void __fastcall MeasurePopMenuItem(System::TObject* Sender, Graphics::TCanvas* ACanvas, int &Width, int &Height);
void __fastcall SetFormCaptionPosX(const int Value);
void __fastcall SetFormCaptionPosY(const int Value);
protected:
virtual void __fastcall Loaded(void);
virtual void __fastcall DefineProperties(Classes::TFiler* Filer);
virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation);
public:
__fastcall virtual TsuiSkinEngine(Classes::TComponent* AOwner);
__fastcall virtual ~TsuiSkinEngine(void);
bool __fastcall GetBitmap(AnsiString Key, const Graphics::TBitmap* Buf, int SpitCount = 0x0, int SpitIndex = 0x0);
Graphics::TColor __fastcall GetColor(AnsiString Key);
bool __fastcall GetBool(AnsiString Key);
int __fastcall GetInteger(AnsiString Key);
void __fastcall SetColor(AnsiString Key, Graphics::TColor Value);
void __fastcall SetBool(AnsiString Key, bool Value);
void __fastcall SetInteger(AnsiString Key, int Value);
Graphics::TColor __fastcall GetFormColor(void);
void __fastcall BeginUpdateControl(Controls::TControl* Ctrl);
void __fastcall EndUpdateControl(Controls::TControl* Ctrl);
void __fastcall AddControl(Controls::TControl* Ctrl);
void __fastcall RemoveControl(Controls::TControl* Ctrl);
void __fastcall UpdateTopMenu(void)/* overload */;
void __fastcall UpdateTopMenu(Forms::TCustomForm* Form)/* overload */;
void __fastcall AssignMainMenu(Menus::TMainMenu* Menu)/* overload */;
void __fastcall AssignMainMenu(Forms::TCustomForm* Form, Menus::TMainMenu* Menu)/* overload */;
void __fastcall MenuItemAdded(Menus::TMenu* Menu);
void __fastcall AddForm(Forms::TCustomForm* Form);
void __fastcall AddForm_BCB(Forms::TCustomForm* Form);
void __fastcall RemoveForm(Forms::TCustomForm* Form);
void __fastcall ApplyAdditionalBuiltInSkins(int Index);
void __fastcall ApplyMainBuiltInSkin(void);
void __fastcall AddWindow(unsigned hWnd);
void __fastcall RemoveWindow(unsigned hWnd);
void __fastcall DoSkinAllForms(void);
void __fastcall UnskinOtherForms(void);
__property bool RealActive = {read=GetRealActive, nodefault};
__property int TitleHeight = {read=m_TitleHeight, nodefault};
__property int BorderWidth = {read=m_BorderWidth, nodefault};
__property Graphics::TColor FormCaptionFontColor = {read=m_FormCaptionFontColor, write=SetFormCaptionFontColor, nodefault};
__property Graphics::TColor MenuBarColor = {read=GetMenuBarColor, nodefault};
__property Menus::TPopupMenu* SysMenu = {read=GetSysMenu, write=SetSysMenu};
__property Suiskinutils::TsuiSkinScrollBtnRes* ScrollBtnRes = {read=m_ScrollBtnRes};
__property Suiskinutils::TsuiSkinTabRes* TabRes = {read=m_TabRes};
__property int SkinnedFormsCount = {read=GetSkinnedFormsCount, nodefault};
__property int FormCaptionPosX = {read=m_FormCaptionPosX, write=SetFormCaptionPosX, nodefault};
__property int FormCaptionPosY = {read=m_FormCaptionPosY, write=SetFormCaptionPosY, nodefault};
__published:
__property bool Active = {read=m_Active, write=SetActive, nodefault};
__property bool Ready = {read=GetReady, write=SetReady, nodefault};
__property AnsiString SkinFile = {read=m_SkinFile, write=SetSkinFile};
__property AnsiString ResSysMenuMin = {read=m_ResSysMenuMin, write=SetResSysMenuMin};
__property AnsiString ResSysMenuMax = {read=m_ResSysMenuMax, write=SetResSysMenuMax};
__property AnsiString ResSysMenuClose = {read=m_ResSysMenuClose, write=SetResSysMenuClose};
__property int DisabledTag = {read=m_DisabledTag, write=m_DisabledTag, nodefault};
__property bool DrawScrollBar = {read=m_DrawScrollBar, write=SetDrawScrollBar, nodefault};
__property AnsiString Version = {read=GetVersion, write=SetVersion};
__property bool BuiltIn = {read=m_BuiltIn, write=SetBuiltIn, nodefault};
__property bool SkinDialogs = {read=m_SkinDialogs, write=m_SkinDialogs, nodefault};
__property bool SkinAllForms = {read=m_SkinAllForms, write=SetSkinAllForms, nodefault};
__property TsuiSkinCollection* AdditionalBuiltInSkins = {read=m_AdditionalBuiltInSkins, write=SetAdditionalBuiltInSkins};
__property Classes::TNotifyEvent OnSkinChanged = {read=m_OnSkinChanged, write=m_OnSkinChanged};
};
class DELPHICLASS TsuiSkinMenuBar;
class DELPHICLASS TsuiSkinWindowVCL;
class DELPHICLASS TsuiSkinMenuBarControlButton;
class DELPHICLASS TsuiSkinControlVCL;
class PASCALIMPLEMENTATION TsuiSkinWindowVCL : public TsuiSkinWindow
{
typedef TsuiSkinWindow inherited;
private:
Forms::TForm* m_Form;
Classes::TWndMethod m_OldWndProc;
void *m_OldClientWndProc;
Menus::TMainMenu* m_Menu;
Menus::TMainMenu* m_MDIMenu;
Menus::TMainMenu* m_RealMenu;
TsuiSkinMenuBar* m_MenuBar;
Graphics::TColor m_OldColor;
TsuiSkinMenuBarControlButton* m_ControlBtns[3];
Appevnts::TApplicationEvents* m_AppEvent;
bool m_SkinAlled;
bool m_SelfChanging;
bool m_Moved;
bool m_MinWidth;
bool m_MinHeight;
Classes::TList* m_WindowMenuList;
void __fastcall NewClientWndProc(Messages::TMessage &Msg);
void __fastcall ReAssignClientWndProc(void);
void __fastcall OnControlButtonClick(System::TObject* Sender);
void __fastcall OnApplicationMessage(tagMSG &Msg, bool &Handled);
void __fastcall DrawMenuButton(Comctrls::TToolBar* Sender, Comctrls::TToolButton* Button, Comctrls::TCustomDrawState State, bool &DefaultDraw);
void __fastcall ProcessKeyPress(Messages::TMessage &Msg);
void __fastcall OnWindowMenuClick(System::TObject* Sender);
void __fastcall Cascade(void);
void __fastcall Tile(bool Horizontal);
void __fastcall RebuildMainMenu(bool Force);
void __fastcall ShowMDIControlBtn(void);
void __fastcall HideMDIControlBtn(void);
void __fastcall ReplaceMDIControlBtn(void);
void __fastcall UpdateMDITopMenu(Forms::TForm* Form, Menus::TMainMenu* Menu);
void __fastcall RebuildWindowMenu(void);
void __fastcall SetConstraints(void);
void __fastcall CancelConstraints(void);
void __fastcall InitMenus(void);
void __fastcall UnInitMenus(void);
void __fastcall InitControl(Controls::TControl* WinCtrl);
void __fastcall UnInitControl(Controls::TControl* WinCtrl)/* overload */;
void __fastcall UnInitControl(TsuiSkinControlVCL* WinCtrl)/* overload */;
protected:
virtual void __fastcall DoSaveWndStyle(void);
virtual void __fastcall ActiveChanged(void);
virtual bool __fastcall CanRegionWindow(void);
virtual int __fastcall GetMenuHeight(void);
virtual unsigned __fastcall GetHasFormIcon(void);
virtual bool __fastcall GetDrawHelpButton(void);
virtual bool __fastcall GetIsMDIForm(void);
virtual bool __fastcall GetIsMDIChild(void);
virtual bool __fastcall GetIsDialog(void);
virtual bool __fastcall CanSaveWndStyle(void);
virtual bool __fastcall DrawControlBox(void);
virtual bool __fastcall DrawCloseButton(void);
virtual bool __fastcall DrawMinButton(void);
virtual bool __fastcall DrawMaxButton(void);
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);
virtual void __fastcall CallDefaultWndProc(Messages::TMessage &Msg);
virtual void __fastcall AfterDefaultWndProc(Messages::TMessage &Msg);
virtual bool __fastcall BeforeDefaultWndProc(Messages::TMessage &Msg);
public:
#pragma option push -w-inl
/* TsuiSkinWindow.Create */ inline __fastcall TsuiSkinWindowVCL(unsigned hWnd, TsuiSkinEngine* Engine, bool ForDialog) : TsuiSkinWindow(hWnd, Engine, ForDialog) { }
#pragma option pop
#pragma option push -w-inl
/* TsuiSkinWindow.Destroy */ inline __fastcall virtual ~TsuiSkinWindowVCL(void) { }
#pragma option pop
};
class PASCALIMPLEMENTATION TsuiSkinMenuBar : public Comctrls::TToolBar
{
typedef Comctrls::TToolBar inherited;
private:
TsuiSkinWindowVCL* m_SkinWnd;
void __fastcall OnMenuPopup(System::TObject* Sender);
protected:
virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation);
public:
#pragma option push -w-inl
/* TToolBar.Create */ inline __fastcall virtual TsuiSkinMenuBar(Classes::TComponent* AOwner) : Comctrls::TToolBar(AOwner) { }
#pragma option pop
#pragma option push -w-inl
/* TToolBar.Destroy */ inline __fastcall virtual ~TsuiSkinMenuBar(void) { }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -