📄 barmenus.hpp
字号:
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 + -