advpreviewmenu.hpp

来自「TMSPack基本上涵盖了Delphi所有的基础控件」· HPP 代码 · 共 1,079 行 · 第 1/4 页

HPP
1,079
字号
	void __fastcall SetDisabledPicture(const Gdipicture::TGDIPPicture* Value);
	void __fastcall SetPicture(const Gdipicture::TGDIPPicture* Value);
	void __fastcall SetOfficeHint(const Advhintinfo::TAdvHintInfo* Value);
	void __fastcall SetNotes(const Classes::TStringList* Value);
	void __fastcall SetSubMenu(const Menus::TPopupMenu* Value);
	Classes::TBasicAction* __fastcall GetAction(void);
	void __fastcall SetAction(Classes::TBasicAction* Value);
	void __fastcall DoActionChange(System::TObject* Sender);
	bool __fastcall IsTitleStored(void);
	bool __fastcall IsEnabledStored(void);
	bool __fastcall IsImageIndexStored(void);
	bool __fastcall IsOnClickStored(void);
	bool __fastcall IsVisibleStored(void);
	void __fastcall SetWideTitle(const WideString Value);
	void __fastcall SetWideNotes(const WideString Value);
	void __fastcall SetSeparator(const bool 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 TSubItemActionLink* ActionLink = {read=FActionLink, write=FActionLink};
	virtual AnsiString __fastcall GetDisplayName();
	virtual void __fastcall SetIndex(int Value);
	__property bool ShortCutHintShowing = {read=FShortCutHintShowing, write=FShortCutHintShowing, nodefault};
	
public:
	__fastcall virtual TAdvPreviewSubMenuItem(Classes::TCollection* Collection);
	__fastcall virtual ~TAdvPreviewSubMenuItem(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 AnsiString Title = {read=FTitle, write=SetTitle, stored=IsTitleStored};
	__property WideString WideTitle = {read=FWideTitle, write=SetWideTitle};
	__property Classes::TStringList* Notes = {read=FNotes, write=SetNotes};
	__property WideString WideNotes = {read=FWideNotes, write=SetWideNotes};
	__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 bool Separator = {read=FSeparator, write=SetSeparator, default=0};
	__property Menus::TPopupMenu* SubMenu = {read=FSubMenu, write=SetSubMenu};
	__property AnsiString ShortCutHint = {read=FShortCutHint, write=FShortCutHint};
	__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};
};


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);
	void __fastcall InitiateActions(void);
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;
	int FSubMenuItemHeight;
	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);
	void __fastcall SetSubMenuItemHeight(const int 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 int SubMenuItemHeight = {read=FSubMenuItemHeight, write=SetSubMenuItemHeight, default=0};
	__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};
};


class DELPHICLASS TPreviewMenuControl;
class PASCALIMPLEMENTATION TPreviewMenuControl : public Controls::TCustomControl 
{
	typedef Controls::TCustomControl inherited;
	
private:
	Classes::TComponent* FOwner;
	TAdvPreviewMenu* FAdvPreviewMenu;
	TAdvPreviewMenuPanel* FAdvPreviewMenuPanel;
	void __fastcall OnPreviewPanelResize(System::TObject* Sender);
	
protected:
	virtual void __fastcall Paint(void);
	void __fastcall CreatePreviewMenu(void);
	void __fastcall DestroyPreviewMenu(void);
	DYNAMIC void __fastcall Resize(void);
	
public:
	__fastcall virtual TPreviewMenuControl(Classes::TComponent* AOwner);
	__fastcall virtual ~TPreviewMenuControl(void);
	virtual void __fastcall SetBounds(int ALeft, int ATop, int AWidth, int AHeight);
	void __fastcall AssignMenu(TAdvPreviewMenu* PreviewMenu);
	__property TAdvPreviewMenu* AdvPreviewMenu = {read=FAdvPreviewMenu};
	__property TAdvPreviewMenuPanel* AdvPreviewMenuPanel = {read=FAdvPreviewMenuPanel};
	__property OnResize ;
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TPreviewMenuControl(HWND ParentWindow) : Controls::TCustomControl(ParentWindow) { }
	#pragma option pop
	
};


//-- var, const, procedure ---------------------------------------------------
static const Shortint MAJ_VER = 0x1;
static const Shortint MIN_VER = 0x1;
static const Shortint REL_VER = 0x7;
static const Shortint BLD_VER = 0x0;
static const Shortint MENUARROW_WIDTH = 0x18;
static const Shortint MINITEM_HEIGHT = 0xc;
static const Shortint SHADOW_WIDTH = 0x4;
static const Shortint SCROLL_HEIGHT = 0xa;
extern PACKAGE bool ForceEnableAction;

}	/* namespace Advpreviewmenu */
using namespace Advpreviewmenu;
#pragma pack(pop)
#pragma option pop

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

⌨️ 快捷键说明

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