📄 advpreviewmenu.hpp
字号:
int __fastcall VisIndexToRealSubItemIndex(int Index);
int __fastcall VisibleSubItemCount(int ItemIndex);
void __fastcall InitializeScroller(void);
void __fastcall UpdateScroller(void);
void __fastcall ChangeTopSubMenuItemTo(int Value);
int __fastcall ScrollSubMenu(int Value);
void __fastcall InvalidateSubMenuScroller(void);
void __fastcall SubMenuScrollUpClick(void);
void __fastcall SubMenuScrollDownClick(void);
void __fastcall SubMenuScrollInView(int Index);
__property int ItemHot = {read=FItemHot, write=SetItemHot, nodefault};
__property int SubMenuItem = {read=FSubMenuItem, write=SetSubMenuItem, nodefault};
__property int SubMenuItemHot = {read=FSubMenuItemHot, write=SetSubMenuItemHot, nodefault};
public:
__fastcall virtual TAdvPreviewMenuPanel(Classes::TComponent* AOwner);
__fastcall virtual ~TAdvPreviewMenuPanel(void);
virtual void __fastcall InitializeAndUpdate(void);
__published:
__property TAdvPreviewMenu* AdvPreviewMenu = {read=FAdvPreviewMenu, write=FAdvPreviewMenu};
__property Advhintinfo::TAdvHintInfo* OfficeHint = {read=FOfficeHint, write=SetOfficeHint};
public:
#pragma option push -w-inl
/* TWinControl.CreateParented */ inline __fastcall TAdvPreviewMenuPanel(HWND ParentWindow) : TAdvCustomPreviewMenuPanel(ParentWindow) { }
#pragma option pop
};
typedef void __fastcall (__closure *TButtonClickEvent)(System::TObject* Sender, int ButtonIndex);
typedef void __fastcall (__closure *TMenuItemClickEvent)(System::TObject* Sender, int ItemIndex);
typedef void __fastcall (__closure *TSubMenuItemClickEvent)(System::TObject* Sender, int ItemIndex, int SubMenuItemIndex);
typedef void __fastcall (__closure *TMenuDrawItemEvent)(System::TObject* Sender, Graphics::TCanvas* Canvas, int ItemIndex, const Types::TRect &R);
typedef void __fastcall (__closure *TSubMenuDrawItemEvent)(System::TObject* Sender, Graphics::TCanvas* Canvas, int ItemIndex, int SubMenuItemIndex, const Types::TRect &R);
typedef void __fastcall (__closure *TDrawButtonFrameTopEvent)(System::TObject* Sender, Graphics::TCanvas* Canvas, const Types::TRect &R);
class PASCALIMPLEMENTATION TAdvPreviewMenu : public Classes::TComponent
{
typedef Classes::TComponent inherited;
private:
Classes::TComponent* FOwner;
Controls::TImageList* FButtonImages;
TAdvPreviewMenuItems* FMenuItems;
TAdvCustomPreviewMenuStyler* FStyler;
TAdvCustomPreviewMenuStyler* FInternalStyler;
TAdvCustomPreviewMenuStyler* FCurrentStyler;
int FMenuSpacing;
TPreviewMenuWindow* FPreviewMenuWindow;
TAdvPreviewMenuPanel* FAdvPreviewMenuPanel;
TButtonCollection* FButtons;
int FButtonSpacing;
int FButtonHeight;
int FTopFrameHeight;
int FOffSetX;
Imglist::TCustomImageList* FMenuImages;
Imglist::TCustomImageList* FSubMenuImages;
bool FShowHint;
TButtonClickEvent FOnButtonClick;
TMenuItemClickEvent FOnMenuItemClick;
TSubMenuItemClickEvent FOnSubMenuItemClick;
TMenuDrawItemEvent FOnMenuDrawItem;
TSubMenuDrawItemEvent FOnSubMenuDrawItem;
int FSubMenuItemSpacing;
AnsiString FSubMenuCaption;
TAdvPreviewSubMenuItems* FSubMenuItems;
TDrawButtonFrameTopEvent FOnDrawButtonFrameTop;
Classes::TNotifyEvent FOnPreviewHide;
int FSubMenuWidth;
int FMenuWidth;
WideString FWideSubMenuCaption;
void __fastcall OnPreviewMenuWindowHide(System::TObject* Sender);
void __fastcall OnPreviewMenuWindowClose(System::TObject* Sender, Forms::TCloseAction &Action);
void __fastcall SetButtonImages(const Controls::TImageList* Value);
void __fastcall SetMenuItems(const TAdvPreviewMenuItems* Value);
void __fastcall SetStyler(const TAdvCustomPreviewMenuStyler* Value);
AnsiString __fastcall GetVersion();
void __fastcall SetVersion(const AnsiString Value);
void __fastcall SetButtons(const TButtonCollection* Value);
int __fastcall GetBottomFrameHeight(void);
void __fastcall SetMenuImages(const Imglist::TCustomImageList* Value);
void __fastcall SetSubMenuImages(const Imglist::TCustomImageList* Value);
void __fastcall SetSubMenuItems(const TAdvPreviewSubMenuItems* Value);
bool __fastcall GetVisible(void);
protected:
virtual void __fastcall Loaded(void);
virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation);
void __fastcall InvalidateTopFrame(void);
void __fastcall InitializeMenu(void);
void __fastcall GetMenuSize(int &W, int &H);
__property int TopFrameHeight = {read=FTopFrameHeight, nodefault};
__property int BottomFrameHeight = {read=GetBottomFrameHeight, nodefault};
__property int OffSetX = {read=FOffSetX, nodefault};
__property bool Visible = {read=GetVisible, nodefault};
__property Classes::TNotifyEvent OnPreviewHide = {read=FOnPreviewHide, write=FOnPreviewHide};
public:
__fastcall virtual TAdvPreviewMenu(Classes::TComponent* AOwner);
__fastcall virtual ~TAdvPreviewMenu(void);
int __fastcall GetVersionNr(void);
void __fastcall ShowMenu(int X, int Y);
void __fastcall HideMenu(void);
void __fastcall ShowShortCutHints(void);
void __fastcall HideShortCutHints(void);
__property TDrawButtonFrameTopEvent OnDrawButtonFrameTop = {read=FOnDrawButtonFrameTop, write=FOnDrawButtonFrameTop};
__published:
__property TButtonCollection* Buttons = {read=FButtons, write=SetButtons};
__property int ButtonSpacing = {read=FButtonSpacing, write=FButtonSpacing, nodefault};
__property int ButtonHeight = {read=FButtonHeight, write=FButtonHeight, nodefault};
__property TAdvPreviewMenuItems* MenuItems = {read=FMenuItems, write=SetMenuItems};
__property int MenuSpacing = {read=FMenuSpacing, write=FMenuSpacing, nodefault};
__property Imglist::TCustomImageList* MenuImages = {read=FMenuImages, write=SetMenuImages};
__property int MenuWidth = {read=FMenuWidth, write=FMenuWidth, nodefault};
__property int SubMenuWidth = {read=FSubMenuWidth, write=FSubMenuWidth, nodefault};
__property TAdvPreviewSubMenuItems* SubMenuItems = {read=FSubMenuItems, write=SetSubMenuItems};
__property AnsiString SubMenuCaption = {read=FSubMenuCaption, write=FSubMenuCaption};
__property WideString WideSubMenuCaption = {read=FWideSubMenuCaption, write=FWideSubMenuCaption};
__property int SubMenuItemSpacing = {read=FSubMenuItemSpacing, write=FSubMenuItemSpacing, nodefault};
__property Imglist::TCustomImageList* SubMenuImages = {read=FSubMenuImages, write=SetSubMenuImages};
__property Controls::TImageList* ButtonImages = {read=FButtonImages, write=SetButtonImages};
__property TAdvCustomPreviewMenuStyler* Styler = {read=FStyler, write=SetStyler};
__property bool ShowHint = {read=FShowHint, write=FShowHint, nodefault};
__property AnsiString Version = {read=GetVersion, write=SetVersion};
__property TButtonClickEvent OnButtonClick = {read=FOnButtonClick, write=FOnButtonClick};
__property TMenuItemClickEvent OnMenuItemClick = {read=FOnMenuItemClick, write=FOnMenuItemClick};
__property TSubMenuItemClickEvent OnSubMenuItemClick = {read=FOnSubMenuItemClick, write=FOnSubMenuItemClick};
__property TMenuDrawItemEvent OnMenuDrawItem = {read=FOnMenuDrawItem, write=FOnMenuDrawItem};
__property TSubMenuDrawItemEvent OnSubMenuDrawItem = {read=FOnSubMenuDrawItem, write=FOnSubMenuDrawItem};
};
class PASCALIMPLEMENTATION TAdvPreviewSubMenuItems : public Classes::TCollection
{
typedef Classes::TCollection inherited;
public:
TAdvPreviewSubMenuItem* operator[](int Index) { return Items[Index]; }
private:
Classes::TPersistent* FOwner;
TAdvPreviewMenu* FPreviewMenu;
HIDESBASE TAdvPreviewSubMenuItem* __fastcall GetItem(int Index);
HIDESBASE void __fastcall SetItem(int Index, const TAdvPreviewSubMenuItem* Value);
protected:
DYNAMIC Classes::TPersistent* __fastcall GetOwner(void);
public:
__fastcall TAdvPreviewSubMenuItems(Classes::TPersistent* AOwner);
__property TAdvPreviewSubMenuItem* Items[int Index] = {read=GetItem, write=SetItem/*, default*/};
HIDESBASE TAdvPreviewSubMenuItem* __fastcall Add(void);
HIDESBASE void __fastcall Delete(int Index);
HIDESBASE TAdvPreviewSubMenuItem* __fastcall Insert(int Index);
public:
#pragma option push -w-inl
/* TCollection.Destroy */ inline __fastcall virtual ~TAdvPreviewSubMenuItems(void) { }
#pragma option pop
};
class DELPHICLASS TItemActionLink;
class PASCALIMPLEMENTATION TItemActionLink : public Actnlist::TActionLink
{
typedef Actnlist::TActionLink inherited;
protected:
TAdvPreviewMenuItem* FClient;
virtual void __fastcall AssignClient(System::TObject* AClient);
virtual bool __fastcall IsCaptionLinked(void);
virtual bool __fastcall IsCheckedLinked(void);
virtual bool __fastcall IsEnabledLinked(void);
virtual bool __fastcall IsHelpContextLinked(void);
virtual bool __fastcall IsHintLinked(void);
virtual bool __fastcall IsGroupIndexLinked(void);
virtual bool __fastcall IsImageIndexLinked(void);
virtual bool __fastcall IsShortCutLinked(void);
virtual bool __fastcall IsVisibleLinked(void);
virtual bool __fastcall IsOnExecuteLinked(void);
virtual void __fastcall SetCaption(const AnsiString Value);
virtual void __fastcall SetEnabled(bool Value);
virtual void __fastcall SetImageIndex(int Value);
virtual void __fastcall SetVisible(bool Value);
virtual void __fastcall SetOnExecute(Classes::TNotifyEvent Value);
public:
#pragma option push -w-inl
/* TBasicActionLink.Create */ inline __fastcall virtual TItemActionLink(System::TObject* AClient) : Actnlist::TActionLink(AClient) { }
#pragma option pop
#pragma option push -w-inl
/* TBasicActionLink.Destroy */ inline __fastcall virtual ~TItemActionLink(void) { }
#pragma option pop
};
typedef TMetaClass* TItemActionLinkClass;
class PASCALIMPLEMENTATION TAdvPreviewMenuItem : public Classes::TCollectionItem
{
typedef Classes::TCollectionItem inherited;
private:
AnsiString FCaption;
int FTag;
int FImageIndex;
bool FEnabled;
Gdipicture::TGDIPPicture* FIPicture;
Gdipicture::TGDIPPicture* FIDisabledPicture;
Advhintinfo::TAdvHintInfo* FOfficeHint;
TAdvPreviewSubMenuItems* FSubItems;
AnsiString FSubMenuCaption;
bool FSeparator;
int FSubMenuItemSpacing;
int FSubMenuItemIndex;
bool FCanSelect;
AnsiString FShortCutSubItemsHint;
AnsiString FShortCutHint;
bool FShortCutHintShowing;
bool FShortCutSubItemHintShowing;
Classes::TNotifyEvent FOnClick;
bool FVisible;
TItemActionLink* FActionLink;
WideString FWideCaption;
WideString FWideSubMenuCaption;
void __fastcall PictureChanged(System::TObject* Sender);
void __fastcall SetCaption(const AnsiString Value);
void __fastcall SetImageIndex(const int Value);
void __fastcall SetEnabled(const bool Value);
void __fastcall SetDisabledPicture(const Gdipicture::TGDIPPicture* Value);
void __fastcall SetPicture(const Gdipicture::TGDIPPicture* Value);
void __fastcall SetOfficeHint(const Advhintinfo::TAdvHintInfo* Value);
void __fastcall SetSubItems(const TAdvPreviewSubMenuItems* Value);
void __fastcall SetSubMenuCaption(const AnsiString Value);
void __fastcall SetSeparator(const bool Value);
void __fastcall SetSubMenuItemSpacing(const int Value);
void __fastcall SetSubMenuItemIndex(const int Value);
Classes::TBasicAction* __fastcall GetAction(void);
void __fastcall SetAction(Classes::TBasicAction* Value);
void __fastcall DoActionChange(System::TObject* Sender);
bool __fastcall IsCaptionStored(void);
bool __fastcall IsEnabledStored(void);
bool __fastcall IsImageIndexStored(void);
bool __fastcall IsOnClickStored(void);
bool __fastcall IsVisibleStored(void);
void __fastcall SetWideCaption(const WideString Value);
void __fastcall SetWideSubMenuCaption(const WideString Value);
protected:
virtual void __fastcall AssignTo(Classes::TPersistent* Dest);
void __fastcall Loaded(void);
DYNAMIC TMetaClass* __fastcall GetActionLinkClass(void);
DYNAMIC void __fastcall ActionChange(System::TObject* Sender, bool CheckDefaults);
__property TItemActionLink* ActionLink = {read=FActionLink, write=FActionLink};
virtual AnsiString __fastcall GetDisplayName();
virtual void __fastcall SetIndex(int Value);
__property bool ShortCutHintShowing = {read=FShortCutHintShowing, write=FShortCutHintShowing, nodefault};
__property bool ShortCutSubItemHintShowing = {read=FShortCutSubItemHintShowing, write=FShortCutSubItemHintShowing, nodefault};
__property int SubMenuItemIndex = {read=FSubMenuItemIndex, write=SetSubMenuItemIndex, nodefault};
public:
__fastcall virtual TAdvPreviewMenuItem(Classes::TCollection* Collection);
__fastcall virtual ~TAdvPreviewMenuItem(void);
virtual void __fastcall Assign(Classes::TPersistent* Source);
virtual void __fastcall InitiateAction(void);
void __fastcall Click(void);
__published:
__property Classes::TBasicAction* Action = {read=GetAction, write=SetAction};
__property bool CanSelect = {read=FCanSelect, write=FCanSelect, nodefault};
__property AnsiString Caption = {read=FCaption, write=SetCaption, stored=IsCaptionStored};
__property WideString WideCaption = {read=FWideCaption, write=SetWideCaption};
__property bool Enabled = {read=FEnabled, write=SetEnabled, stored=IsEnabledStored, default=1};
__property int ImageIndex = {read=FImageIndex, write=SetImageIndex, stored=IsImageIndexStored, default=-1};
__property Gdipicture::TGDIPPicture* DisabledPicture = {read=FIDisabledPicture, write=SetDisabledPicture};
__property Gdipicture::TGDIPPicture* Picture = {read=FIPicture, write=SetPicture};
__property Advhintinfo::TAdvHintInfo* OfficeHint = {read=FOfficeHint, write=SetOfficeHint};
__property TAdvPreviewSubMenuItems* SubItems = {read=FSubItems, write=SetSubItems};
__property AnsiString SubMenuCaption = {read=FSubMenuCaption, write=SetSubMenuCaption};
__property WideString WideSubMenuCaption = {read=FWideSubMenuCaption, write=SetWideSubMenuCaption};
__property bool Separator = {read=FSeparator, write=SetSeparator, nodefault};
__property int SubMenuItemSpacing = {read=FSubMenuItemSpacing, write=SetSubMenuItemSpacing, nodefault};
__property AnsiString ShortCutHint = {read=FShortCutHint, write=FShortCutHint};
__property AnsiString ShortCutSubItemsHint = {read=FShortCutSubItemsHint, write=FShortCutSubItemsHint};
__property int Tag = {read=FTag, write=FTag, default=0};
__property bool Visible = {read=FVisible, write=FVisible, stored=IsVisibleStored, nodefault};
__property Classes::TNotifyEvent OnClick = {read=FOnClick, write=FOnClick, stored=IsOnClickStored};
};
//-- var, const, procedure ---------------------------------------------------
static const Shortint MAJ_VER = 0x1;
static const Shortint MIN_VER = 0x1;
static const Shortint REL_VER = 0x0;
static const Shortint BLD_VER = 0x2;
static const Shortint MENUARROW_WIDTH = 0x18;
static const Shortint MINITEM_HEIGHT = 0xc;
static const Shortint SHADOW_WIDTH = 0x4;
static const Shortint SCROLL_HEIGHT = 0xa;
} /* namespace Advpreviewmenu */
using namespace Advpreviewmenu;
#pragma pack(pop)
#pragma option pop
#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif // Advpreviewmenu
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -