advpreviewmenu.hpp
来自「TMSPack基本上涵盖了Delphi所有的基础控件」· HPP 代码 · 共 1,079 行 · 第 1/4 页
HPP
1,079 行
void __fastcall ShowSubMenuItemShortCutHint(int Index);
void __fastcall HideSubMenuItemShortCutHint(int Index);
void __fastcall InvalidateTopFrame(void);
void __fastcall InvalidateLeftFrame(void);
void __fastcall InvalidateRightFrame(void);
Types::TRect __fastcall GetTopFrameRect();
Types::TRect __fastcall GetItemFramesRect();
Types::TRect __fastcall GetLeftFrameRect();
Types::TRect __fastcall GetRightFrameRect();
Types::TRect __fastcall GetItemRect(int Index);
Types::TRect __fastcall GetItemDropDownRect(int Index);
int __fastcall GetItemHeight(void);
void __fastcall GetMaxItemSize(int &AHeight, int &AWidth);
int __fastcall RealIndexToVisItemIndex(int Index);
int __fastcall VisIndexToRealItemIndex(int Index);
int __fastcall VisibleItemsCount(void);
Types::TRect __fastcall GetUpScrollBtnRect();
Types::TRect __fastcall GetDownScrollBtnRect();
Types::TRect __fastcall GetSubMenuCaptionRect();
Types::TRect __fastcall GetSubMenuItemRect(int Index);
int __fastcall GetSubMenuItemHeight(void);
void __fastcall GetSubMenuMaxItemSize(int Index, int &AHeight, int &AWidth, TAdvPreviewSubMenuItems* SubMenuItems = (TAdvPreviewSubMenuItems*)(0x0))/* overload */;
void __fastcall GetSubMenuMaxItemSize(int &AHeight, int &AWidth)/* overload */;
void __fastcall CalculateSubMenuItemSize(void);
int __fastcall RealIndexToVisSubItemIndex(int Index);
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);
void __fastcall SetSelectedItem(int Index);
__property int SelectedItem = {read=FSelectedItem, nodefault};
void __fastcall SetSelectedSubItem(int Index);
__property int SelectedSubItem = {read=FSelectedSubItem, nodefault};
__property int ItemHot = {read=FItemHot, write=SetItemHot, nodefault};
__property int SubMenuItem = {read=FSubMenuItem, write=SetSubMenuItem, nodefault};
__property int SubMenuItemHot = {read=FSubMenuItemHot, write=SetSubMenuItemHot, nodefault};
__property int ButtonHot = {read=FButtonHot, write=SetButtonHot, 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;
bool FMenuShowing;
int FSubMenuItemHeight;
Advgdip::TAntiAlias FAntiAlias;
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);
void __fastcall SetSubMenuItemHeight(const int Value);
protected:
bool FEditorCreated;
virtual void __fastcall Loaded(void);
virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation);
void __fastcall InvalidateTopFrame(void);
void __fastcall InvalidateMenu(void);
void __fastcall DrawMenuItem(int Index);
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 Advgdip::TAntiAlias AntiAlias = {read=FAntiAlias, write=FAntiAlias, default=1};
__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 int SubMenuItemHeight = {read=FSubMenuItemHeight, write=SetSubMenuItemHeight, default=0};
__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 TButtonCollection : public Classes::TCollection
{
typedef Classes::TCollection inherited;
public:
TButtonCollectionItem* operator[](int Index) { return Items[Index]; }
private:
Classes::TPersistent* FOwner;
TAdvPreviewMenu* FPreviewMenu;
HIDESBASE TButtonCollectionItem* __fastcall GetItem(int Index);
HIDESBASE void __fastcall SetItem(int Index, const TButtonCollectionItem* Value);
protected:
DYNAMIC Classes::TPersistent* __fastcall GetOwner(void);
public:
__fastcall TButtonCollection(Classes::TPersistent* AOwner);
__property TButtonCollectionItem* Items[int Index] = {read=GetItem, write=SetItem/*, default*/};
HIDESBASE TButtonCollectionItem* __fastcall Add(void);
HIDESBASE void __fastcall Delete(int Index);
HIDESBASE TButtonCollectionItem* __fastcall Insert(int Index);
public:
#pragma option push -w-inl
/* TCollection.Destroy */ inline __fastcall virtual ~TButtonCollection(void) { }
#pragma option pop
};
class DELPHICLASS TSubItemActionLink;
class PASCALIMPLEMENTATION TSubItemActionLink : public Actnlist::TActionLink
{
typedef Actnlist::TActionLink inherited;
protected:
TAdvPreviewSubMenuItem* 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 TSubItemActionLink(System::TObject* AClient) : Actnlist::TActionLink(AClient) { }
#pragma option pop
#pragma option push -w-inl
/* TBasicActionLink.Destroy */ inline __fastcall virtual ~TSubItemActionLink(void) { }
#pragma option pop
};
typedef TMetaClass* TSubItemActionLinkClass;
class PASCALIMPLEMENTATION TAdvPreviewSubMenuItem : public Classes::TCollectionItem
{
typedef Classes::TCollectionItem inherited;
private:
AnsiString FTitle;
int FImageIndex;
bool FEnabled;
Gdipicture::TGDIPPicture* FIPicture;
Gdipicture::TGDIPPicture* FIDisabledPicture;
Advhintinfo::TAdvHintInfo* FOfficeHint;
Classes::TStringList* FNotes;
Menus::TPopupMenu* FSubMenu;
AnsiString FShortCutHint;
bool FShortCutHintShowing;
Classes::TNotifyEvent FOnClick;
bool FVisible;
TSubItemActionLink* FActionLink;
int FTag;
WideString FWideTitle;
WideString FWideNotes;
bool FSeparator;
void __fastcall PictureChanged(System::TObject* Sender);
void __fastcall SetTitle(const AnsiString Value);
void __fastcall SetImageIndex(const int Value);
void __fastcall SetEnabled(const bool Value);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?