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

📄 winskinform.hpp

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

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

#ifndef WinSkinFormHPP
#define WinSkinFormHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <TypInfo.hpp>	// Pascal unit
#include <Consts.hpp>	// Pascal unit
#include <WinSubClass.hpp>	// Pascal unit
#include <WinSkinData.hpp>	// Pascal unit
#include <Commctrl.hpp>	// Pascal unit
#include <Grids.hpp>	// Pascal unit
#include <ImgList.hpp>	// Pascal unit
#include <Buttons.hpp>	// Pascal unit
#include <Menus.hpp>	// Pascal unit
#include <ComCtrls.hpp>	// Pascal unit
#include <StdCtrls.hpp>	// Pascal unit
#include <ExtCtrls.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <Controls.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 Winskinform
{
//-- type declarations -------------------------------------------------------
struct NMCSBCUSTOMDRAW
{
	tagNMHDR hdr;
	unsigned dwDrawStage;
	HDC hdc;
	Windows::TRect rc;
	unsigned uItem;
	unsigned uState;
	unsigned nBar;
} ;

typedef NMCSBCUSTOMDRAW *pNMCSBCUSTOMDRAW;

class DELPHICLASS TNCObject;
class DELPHICLASS TWinSkinForm;
class DELPHICLASS TMenuBtn;
class DELPHICLASS TWinSysButton;
class DELPHICLASS TWinSkinMenu;
typedef DynamicArray<TMenuBtn* >  WinSkinForm__5;

class PASCALIMPLEMENTATION TWinSkinMenu : public Classes::TComponent 
{
	typedef Classes::TComponent inherited;
	
private:
	void __fastcall Copymenu(HMENU source, HMENU dst);
	
public:
	DynamicArray<TMenuBtn* >  Buttons;
	Menus::TMainMenu* menu;
	Windows::TRect Bar;
	Winskindata::TSkinData* FSD;
	TWinSkinForm* SF;
	Graphics::TBitmap* bkmap;
	int count;
	bool topmenu;
	HMENU hmenu;
	__fastcall virtual TWinSkinMenu(Classes::TComponent* AOwner);
	__fastcall virtual ~TWinSkinMenu(void);
	void __fastcall UpdataBtn(void);
	void __fastcall UpdataBtn1(void);
	void __fastcall UpdataBtn2(unsigned newmenu);
	void __fastcall UpdataBtn3(void);
	void __fastcall DrawMenu(HDC dc, const Windows::TRect &rc);
	TNCObject* __fastcall FindBtn(const Windows::TPoint &p);
	void __fastcall MouseMove(const Windows::TPoint &p);
	void __fastcall SetMenuRect(void);
};


typedef DynamicArray<TWinSysButton* >  WinSkinForm__7;

#pragma option push -b-
enum TSkinFormStyle { sfsNormal, sfsMDIform, sfsMDIChild, sfsChild };
#pragma option pop

#pragma option push -b-
enum TSkinFormBorder { sbsSizeable, sbsSingle, sbsNone, sbsDialog };
#pragma option pop

#pragma option push -b-
enum TSkinFormIcon { sbiMax, sbiMin, sbiHelp, sbisystem, sbicaption };
#pragma option pop

typedef Set<TSkinFormIcon, sbiMax, sbicaption>  TSkinFormIcons;

#pragma option push -b-
enum TSkinWindowState { swsNormal, swsMax, swsMin };
#pragma option pop

class PASCALIMPLEMENTATION TWinSkinForm : public Classes::TComponent 
{
	typedef Classes::TComponent inherited;
	
private:
	bool done;
	bool done2;
	Controls::TWndMethod OldWndProc;
	void *FPrevWndProc;
	void *FObjectInst;
	void *FMDIWndProc;
	void *FMDIObjectInst;
	Graphics::TFont* CaptionFont;
	bool FActive;
	Forms::TBorderIcons BorderIcons;
	bool FOverrideOwnerDraw;
	Extctrls::TTimer* timer;
	WideString bstr;
	WideString astr;
	AnsiString classname;
	bool hassysbtn;
	bool menuauto;
	bool sMainMenu;
	Windows::TRect fClientRect;
	int msglock;
	unsigned poptime;
	int DoubleTime;
	int charwidth;
	unsigned parenthwnd;
	HICON DefIcon;
	int Iconx;
	void __fastcall GetIcon(Graphics::TBitmap* &bmp);
	void __fastcall DeleteControls(void);
	void __fastcall SetActive(const bool Value);
	void __fastcall WinWndProc(Messages::TMessage &aMsg);
	void __fastcall NewWndProc(Messages::TMessage &aMsg);
	void __fastcall Default(Messages::TMessage &Msg);
	void __fastcall WMActive(Messages::TMessage &Msg);
	void __fastcall WMNCCalcSize(Messages::TMessage &Msg);
	void __fastcall WMNCActive(Messages::TMessage &Msg);
	void __fastcall WMNCPaint(Messages::TMessage &Msg);
	void __fastcall WMNCMouseMove(Messages::TMessage &Msg);
	void __fastcall WMNCLButtonDown(Messages::TMessage &Msg);
	void __fastcall WMNCLBUTTONDBLCLK(Messages::TMessage &Msg);
	void __fastcall WMNCLButtonUp(Messages::TMessage &Msg);
	void __fastcall WMNCRButtonUp(Messages::TMessage &Msg);
	void __fastcall WMMouseMove(Messages::TMessage &Msg);
	void __fastcall WMNCHitTest(Messages::TMessage &Msg);
	void __fastcall WMSysCommand(Messages::TMessage &Msg);
	void __fastcall WMCommand(Messages::TMessage &Msg);
	void __fastcall WMINITMENU(HMENU hm);
	void __fastcall WMMEASUREITEM(Messages::TMessage &Msg);
	void __fastcall WMMEASUREITEMH(Messages::TMessage &Msg);
	void __fastcall WMDRAWITEM(Messages::TMessage &Msg);
	void __fastcall WMERASEBKGND(Messages::TMessage &Msg);
	void __fastcall WMSize(Messages::TMessage &Msg);
	void __fastcall WMGetMinMaxInfo(Messages::TMessage &Msg);
	void __fastcall CMDialogChar(Messages::TMessage &Message);
	void __fastcall WMCtlcolor(Messages::TMessage &Msg);
	void __fastcall WMWINDOWPOSCHANGED(Messages::TMessage &Msg);
	void __fastcall WMWindowPosChanging(Messages::TMessage &Msg);
	void __fastcall WMMDIACTIVATE(Messages::TMessage &aMsg);
	void __fastcall WMMDIACTIVATE2(Messages::TMessage &Msg);
	void __fastcall WMMDITile(Messages::TMessage &aMsg);
	void __fastcall WMReCreateWnd(Messages::TMessage &Msg);
	void __fastcall DrawLine(Graphics::TCanvas* acanvas, const Windows::TRect &rc);
	void __fastcall CreateCaptionFont(void);
	void __fastcall Drawborder(int n, const Windows::TRect &Rc, HDC dc);
	void __fastcall SetSysbtnRect(void);
	void __fastcall DrawAllSysbtn(Graphics::TCanvas* acanvas, const Windows::TRect &rc);
	void __fastcall DrawMin(HDC dc);
	bool __fastcall SysBtnVisible(int i);
	TNCObject* __fastcall FindBtn(const Windows::TPoint &Point);
	Windows::TPoint __fastcall GetWinXY(short x, short y);
	void __fastcall SysBtnAction(short x, short y);
	void __fastcall UpdateNc(HDC adc);
	void __fastcall DrawFLine(HDC dc);
	void __fastcall ToolBarDrawButton(Comctrls::TToolBar* Sender, Comctrls::TToolButton* Button, Comctrls::TCustomDrawState 
		State, bool &DefaultDraw);
	void __fastcall ToolBarDrawBackground(Comctrls::TToolBar* Sender, const Windows::TRect &ARect, bool 
		&DefaultDraw);
	void __fastcall MeasureItemPop(System::TObject* Sender, Graphics::TCanvas* ACanvas, int &Width, int 
		&Height);
	Graphics::TBitmap* __fastcall GetMenuBG(void);
	void __fastcall DrawMenuCaption(Graphics::TCanvas* ACanvas, const Windows::TRect &ARect);
	void __fastcall WMDrawMenuitem(Messages::TMessage &Msg);
	void __fastcall WMDrawMenuitemH(Messages::TMessage &Msg);
	void __fastcall DrawHMenuItem2(HMENU Amenu, System::TObject* Sender, Graphics::TCanvas* ACanvas, const 
		Windows::TRect &ARect, bool Selected);
	Menus::TMenuItem* __fastcall CreateMenuItem(HMENU amenu, int aid);
	void __fastcall DefaultMenuItem(System::TObject* Sender, Graphics::TCanvas* ACanvas, const Windows::TRect 
		&ARect, bool Selected);
	void __fastcall DrawItemText(Menus::TMenuItem* Item, Graphics::TCanvas* ACanvas, const Windows::TRect 
		&ARect, bool Selected);
	void __fastcall DoDrawText(Menus::TMenuItem* item, Graphics::TCanvas* ACanvas, const WideString ACaption
		, Windows::TRect &Rect, bool Selected, int Flags);
	void __fastcall OnTimer(System::TObject* Sender);
	void __fastcall CancelMenu(void);
	TMenuBtn* __fastcall FindButtonFromAccel(Word Accel);
	void __fastcall CreateSysmenu(void);
	void __fastcall CreateSysmenu2(void);
	void __fastcall DoSysMenu(System::TObject* Sender);
	void __fastcall DoSysMenu2(System::TObject* Sender);
	bool __fastcall IsScrollControl(Classes::TComponent* acontrol);
	void __fastcall KeepClient(void);
	void __fastcall SelectMDIform(System::TObject* Sender);
	void __fastcall ChangeMDIStyle(void);
	Winsubclass::TSkinControl* __fastcall Lookupcontrol(unsigned ahwnd);
	void __fastcall GetWindowstate(void);
	void __fastcall GetFormstyle(void);
	void __fastcall PopSysmenu(const Windows::TPoint &p);
	void __fastcall MDIChildAction(const int action);
	void __fastcall UnSubclassMDI(void);
	void __fastcall SubclassMDI(void);
	void __fastcall WinMDIProc(Messages::TMessage &aMsg);
	void __fastcall DefaultMDI(Messages::TMessage &Msg);
	void __fastcall DeleteSkinDeleted(void);
	void __fastcall InitToolbarMenu(Menus::TMenuItem* Item, bool enable);
	void __fastcall DrawIcon(HDC dc, const Windows::TRect &rc);
	void __fastcall AfterSkin(void);
	void __fastcall DoSkinEdit(Controls::TWinControl* aEdit);
	void __fastcall GetBorderSize(void);
	void __fastcall UpdateStyle(bool b);
	void __fastcall DisableControl(Controls::TControl* Comp);
	bool __fastcall CheckSysmenu(void);
	void __fastcall MenuSelect(Messages::TMessage &Msg);
	void __fastcall BeginUpdate(void);
	void __fastcall StopUpdate(void);
	void __fastcall InitSkin(Winskindata::TSkinData* afsd);
	
protected:
	WideString caption;
	Windows::TRect bw;
	Windows::TRect wTr;
	Windows::TRect ctr;
	Windows::TRect oldsize;
	int MenuHeight;
	int BtnCount;
	bool fInMenu;
	bool Creating;
	bool bidileft;
	bool fSizeable;
	bool fMaxable;
	bool fminable;

⌨️ 快捷键说明

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