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

📄 barmenus.~hpp

📁 Virtual CD Sample driver
💻 ~HPP
📖 第 1 页 / 共 3 页
字号:
	Bcdrawmodule::TBcBarMenusDrawModule* FDrawModule;
	bool FFlat;
	TOpacity FOpacity;
	unsigned FMenuWindowHandle;
	bool FMenuUpdating;
	int FUpdateRef;
	TBcBar* __fastcall GetBar(void);
	TBcSeparators* __fastcall GetSeparators(void);
	TBcBarProtected* __fastcall GetBarProtected(void);
	void __fastcall SetBar(const TBcBar* Value);
	void __fastcall SetSeparators(const TBcSeparators* Value);
	TOnBeforeDrawBarEvent __fastcall GetOnBeforeDrawBar(void);
	void __fastcall SetOnBeforeDrawBar(const TOnBeforeDrawBarEvent Value);
	TOnAfterDrawBarEvent __fastcall GetOnAfterDrawBar(void);
	void __fastcall SetOnAfterDrawBar(const TOnAfterDrawBarEvent Value);
	TOpacity __fastcall GetOpacity(void);
	void __fastcall SetOpacity(const TOpacity Value);
	bool __fastcall GetFlat(void);
	void __fastcall SetFlat(const bool Value);
	bool __fastcall GetUseSystemFont(void);
	void __fastcall SetUseSystemFont(const bool Value);
	Graphics::TFont* __fastcall GetMenuFont(void);
	void __fastcall SetMenuFont(const Graphics::TFont* Value);
	TOnAdvancedBeforeDrawBarEvent __fastcall GetOnAdvancedBeforeDrawBar(void);
	void __fastcall SetOnAdvancedBeforeDrawBar(const TOnAdvancedBeforeDrawBarEvent Value);
	Bcdrawmodule::TBcBarMenusDrawModule* __fastcall GetDrawModule(void);
	void __fastcall SetDrawModule(const Bcdrawmodule::TBcBarMenusDrawModule* Value);
	TOnMeasureMenuItemEvent __fastcall GetOnMeasureMenuItem(void);
	void __fastcall SetOnMeasureMenuItem(const TOnMeasureMenuItemEvent Value);
	TBcMenuStyle __fastcall GetMenuStyle(void);
	void __fastcall SetMenuStyle(const TBcMenuStyle Value);
	
protected:
	HIDESBASE int __stdcall _AddRef(void);
	HIDESBASE int __stdcall _Release(void);
	virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
		);
	virtual void __fastcall Loaded(void);
	Menus::TMenu* __fastcall GetSelf(void);
	TBcMenuStyle __fastcall UseMenuStyle(void);
	void __fastcall SetMenuWindowHandle(unsigned Handle);
	virtual void __fastcall RefreshMenu(const bool BarChanged, const bool WidthChanged);
	virtual void __fastcall MenuChanged(System::TObject* Sender, Menus::TMenuItem* Source, bool Rebuild
		);
	__property TBcBarProtected* BarProtected = {read=GetBarProtected};
	__property TOpacity Opacity = {read=GetOpacity, write=SetOpacity, default=255};
	__property bool Flat = {read=GetFlat, write=SetFlat, default=0};
	
public:
	__fastcall virtual TBcCustomBarPopupMenu(Classes::TComponent* AOwner);
	__fastcall virtual ~TBcCustomBarPopupMenu(void);
	void __fastcall FlushDoubleBuffer(void);
	void __fastcall ExpandItemWidth(System::TObject* Sender, Graphics::TCanvas* ACanvas, int &Width, int 
		&Height);
	void __fastcall AdvancedDrawItem(System::TObject* Sender, Graphics::TCanvas* ACanvas, const Windows::TRect 
		&ARect, Windows::TOwnerDrawState State);
	virtual void __fastcall Popup(int X, int Y)/* overload */;
	HIDESBASE virtual void __fastcall Popup(const Windows::TPoint &P)/* overload */;
	void __fastcall PopupAtCursor(void);
	void __fastcall BeginUpdate(void);
	void __fastcall EndUpdate(void);
	__property bool MenuUpdating = {read=FMenuUpdating, nodefault};
	__property unsigned MenuWindowHandle = {read=FMenuWindowHandle, nodefault};
	__property Graphics::TFont* MenuFont = {read=GetMenuFont, write=SetMenuFont};
	__property TBcMenuStyle MenuStyle = {read=GetMenuStyle, write=SetMenuStyle, default=0};
	__property bool UseSystemFont = {read=GetUseSystemFont, write=SetUseSystemFont, default=1};
	__property TBcBar* Bar = {read=GetBar, write=SetBar};
	__property TBcSeparators* Separators = {read=GetSeparators, write=SetSeparators};
	__property Bcdrawmodule::TBcBarMenusDrawModule* DrawModule = {read=GetDrawModule, write=SetDrawModule
		};
	__property TOnBeforeDrawBarEvent OnBeforeDrawBar = {read=GetOnBeforeDrawBar, write=SetOnBeforeDrawBar
		};
	__property TOnAdvancedBeforeDrawBarEvent OnAdvancedBeforeDrawBar = {read=GetOnAdvancedBeforeDrawBar
		, write=SetOnAdvancedBeforeDrawBar};
	__property TOnAfterDrawBarEvent OnAfterDrawBar = {read=GetOnAfterDrawBar, write=SetOnAfterDrawBar};
		
	__property TOnMeasureMenuItemEvent OnMeasureMenuItem = {read=GetOnMeasureMenuItem, write=SetOnMeasureMenuItem
		};
	__property OwnerDraw ;
private:
	void *__IBarMenusIntf;	/* Barmenus::IBarMenusIntf */
	
public:
	operator IUnknown*(void) { return (IUnknown*)&__IBarMenusIntf; }
	operator IBarMenusIntf*(void) { return (IBarMenusIntf*)&__IBarMenusIntf; }
	
};


class DELPHICLASS TBcBarPopupMenu;
class PASCALIMPLEMENTATION TBcBarPopupMenu : public TBcCustomBarPopupMenu 
{
	typedef TBcCustomBarPopupMenu inherited;
	
__published:
	__property Bar ;
	__property Separators ;
	__property MenuFont ;
	__property MenuStyle ;
	__property UseSystemFont ;
	__property DrawModule ;
	__property OnBeforeDrawBar ;
	__property OnAdvancedBeforeDrawBar ;
	__property OnAfterDrawBar ;
	__property OnMeasureMenuItem ;
public:
	#pragma option push -w-inl
	/* TBcCustomBarPopupMenu.Create */ inline __fastcall virtual TBcBarPopupMenu(Classes::TComponent* AOwner
		) : TBcCustomBarPopupMenu(AOwner) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TBcCustomBarPopupMenu.Destroy */ inline __fastcall virtual ~TBcBarPopupMenu(void) { }
	#pragma option pop
	
};


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


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


//-- var, const, procedure ---------------------------------------------------
extern PACKAGE System::ResourceString _BcResourceRadioItem;
#define Barmenus_BcResourceRadioItem System::LoadResourceString(&Barmenus::_BcResourceRadioItem)
static const Shortint ShortLineSpace = 0xc;
static const Shortint RightMarginFromLine = 0xa;
static const Shortint LineItemHeight = 0xc;
static const Shortint LineItemHeightXP = 0x9;
static const Shortint CaptionLineItemHeight = 0xe;
static const Shortint GlyphSpace = 0x1;
static const Shortint ItemSpace = 0x2;
static const Shortint ItemSpaceXP = 0x4;
static const Byte DefaultOpacity = 0xff;
static const bool DefaultFlat = false;
static const bool DefaultUseSystemFont = true;
#define DefaultMenuStyle (TBcMenuStyle)(0)
static const Graphics::TColor DefaultGradientStart = 0xd8bdaf;
static const int DefaultGradientEnd = 0x0;
static const int DefaultBarBorder = 0x1fffffff;
static const Shortint DefaultBarSpace = 0x1;
static const Shortint DefaultBarWidth = 0x20;
static const bool DefaultBarVisible = true;
#define DefaultBarSide (TSide)(0)
#define DefaultGradientStyle (TGradientStyle)(1)
static const Shortint DefaultBarCaptionOffsetY = 0x6;
#define DefaultBarCaptionVertAlignment (TVertAlignment)(1)
#define DefaultBarCaptionDirection (TDirection)(0)
static const bool DefaultBarCaptionAutoSize = false;
static const int DefaultBarCaptionShadowColor = 0x1fffffff;
static const int DefaultBarCaptionHighlightColor = 0x1fffffff;
static const Shortint DefaultBarCaptionDepth = 0x1;
static const bool DefaultBarCaptionVisible = true;
#define DefaultBarBitmapHorzAlignment (THorzAlignment)(2)
#define DefaultBarBitmapVertAlignment (TVertAlignment)(1)
static const bool DefaultBarBitmapTransparent = true;
static const bool DefaultBarBitmapVisible = true;
#define DefaultBarBackBitmapDrawStyle (TDrawStyle)(0)
#define DefaultBarBackBitmapHorzAlignment (THorzAlignment)(0)
#define DefaultBarBackBitmapVertAlignment (TVertAlignment)(0)
static const bool DefaultBarBackBitmapTransparent = false;
static const int DefaultSeparatorsGradientStart = 0x808080;
static const int DefaultSeparatorsGradientEnd = 0xc0c0c0;
#define DefaultSeparatorsGradientStyle (TGradientStyle)(0)
static const bool DefaultSeparatorsFade = false;
static const Shortint DefaultSeparatorsFadeWidth = 0x20;
static const int DefaultSeparatorsFadeColor = 0x80000010;
#define DefaultSeparatorsAlignment (Classes::TAlignment)(2)
#define DefaultSeparatorsSeparatorStyle (TSeparatorStyle)(0)
static const bool DefaultSeparatorsUseSystemFont = true;
static const bool DefaultSeparatorsFlatLines = false;
extern PACKAGE bool Win98Plus;
extern PACKAGE bool WinXP;
extern PACKAGE bool Win2K;
extern PACKAGE void __fastcall BarMeasureItem(Menus::TMenuItem* MenuItem, Graphics::TCanvas* ACanvas
	, int &Width, int &Height, bool ABarVisible);
extern PACKAGE void __fastcall BarDrawMenuItem(Menus::TMenuItem* MenuItem, Graphics::TCanvas* ACanvas
	, const Windows::TRect &ARect, Windows::TOwnerDrawState State, bool ABarVisible);
extern PACKAGE void __fastcall DrawMenuItemText(Menus::TMenuItem* MenuItem, Graphics::TCanvas* ACanvas
	, const AnsiString ACaption, Windows::TRect &Rect, bool Selected, int Flags);
extern PACKAGE void __fastcall AdvancedDrawItem(Menus::TMenuItem* MenuItem, Graphics::TCanvas* ACanvas
	, const Windows::TRect &ARect, Windows::TOwnerDrawState State, bool TopLevel);
extern PACKAGE void __fastcall DrawMenuItemEx(_di_IBarMenusIntf BarMenusIntf, Menus::TMenuItem* MenuItem
	, Graphics::TCanvas* ACanvas, const Windows::TRect &ARect, Windows::TOwnerDrawState State);
extern PACKAGE bool __fastcall IsLineItem(Menus::TMenuItem* MenuItem, AnsiString &LineCaption);
extern PACKAGE void __fastcall DrawLineItem(_di_IBarMenusIntf BarMenusIntf, Menus::TMenuItem* MenuItem
	, AnsiString LineCaption, Graphics::TCanvas* ACanvas, const Windows::TRect &ARect, Windows::TOwnerDrawState 
	State);
extern PACKAGE void __fastcall DrawFadeLine(Graphics::TCanvas* ACanvas, const Windows::TRect &AClipRect
	, const Windows::TRect &ALineRect, Graphics::TColor AColor, int AFadeWidth, bool AClip);
extern PACKAGE void __fastcall DrawBarCaption(_di_IBarMenusIntf BarMenusIntf, const Windows::TRect &
	AClipRect);
extern PACKAGE void __fastcall DrawGradient(Graphics::TBitmap* ABitmap, Graphics::TCanvas* ACanvas, 
	const Windows::TRect &ARect, Graphics::TColor ColorFrom, Graphics::TColor ColorTo, TGradientStyle Style
	);
extern PACKAGE void __fastcall DrawBarGradient(_di_IBarMenusIntf BarMenusIntf, const Windows::TRect 
	&ARect);
extern PACKAGE void __fastcall DrawBarPicture(_di_IBarMenusIntf BarMenusIntf);
extern PACKAGE void __fastcall DrawBarBackPicture(_di_IBarMenusIntf BarMenusIntf);
extern PACKAGE void __fastcall DrawDoubleBuffer(_di_IBarMenusIntf BarMenusIntf, Graphics::TCanvas* ACanvas
	, const Windows::TRect &Dest, const Windows::TRect &Source);
extern PACKAGE Menus::TMenu* __fastcall GetParentMenuEx(Menus::TMenuItem* MenuItem);
extern PACKAGE void __fastcall SetMenuItemEvents(Menus::TMenu* Menu, Menus::TMenuItem* MenuItem, Menus::TMenuMeasureItemEvent 
	ExpandItemWidth, Menus::TAdvancedMenuDrawItemEvent AdvancedDrawItem, bool Recursive, bool AllowOwnerDrawn
	);
extern PACKAGE void __fastcall SetMenuOpacity(Menus::TMenuItem* MenuItem, Graphics::TCanvas* Canvas)
	/* overload */;
extern PACKAGE void __fastcall SetMenuOpacity(_di_IBarMenusIntf BarMenusIntf, const unsigned WindowHandle
	, const TOpacity Opacity)/* overload */;
extern PACKAGE void __fastcall DrawMenuWindowBorder(Menus::TMenuItem* MenuItem, Graphics::TCanvas* Canvas
	)/* overload */;
extern PACKAGE void __fastcall DrawMenuWindowBorder(_di_IBarMenusIntf BarMenusIntf, unsigned WindowHandle
	)/* overload */;
extern PACKAGE void __fastcall RefreshMenu(_di_IBarMenusIntf BarMenusIntf, const bool BarChanged, const 
	bool WidthChanged);
extern PACKAGE Menus::TMenuItem* __fastcall FirstVisibleMenuItem(Menus::TMenu* Menu);
extern PACKAGE bool __fastcall IsInFirstVisibleMenu(Menus::TMenu* Menu, Menus::TMenuItem* MenuItem);
	
extern PACKAGE bool __fastcall IsInTopMenu(Menus::TMenuItem* MenuItem);
extern PACKAGE bool __fastcall IsInTopPopupMenu(Menus::TMenuItem* MenuItem);
extern PACKAGE bool __fastcall IsInTopMainMenu(Menus::TMenuItem* MenuItem);
extern PACKAGE bool __fastcall IsAfterMenuBreak(Menus::TMenuItem* MenuItem);
extern PACKAGE _di_IBarMenusIntf __fastcall GetMenuBarMenusIntf(Menus::TMenu* AMenu);
extern PACKAGE _di_IBarMenusIntf __fastcall GetMenuItemBarMenusIntf(Menus::TMenuItem* AMenuItem);

}	/* namespace Barmenus */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Barmenus;
#endif
#pragma option pop	// -w-
#pragma option pop	// -Vx

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// BarMenus

⌨️ 快捷键说明

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