advstickypopupmenu.hpp

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

HPP
448
字号
// Borland C++ Builder
// Copyright (c) 1995, 2005 by Borland Software Corporation
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Advstickypopupmenu.pas' rev: 10.00

#ifndef AdvstickypopupmenuHPP
#define AdvstickypopupmenuHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <Sysinit.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <Dialogs.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Extctrls.hpp>	// Pascal unit
#include <Sysutils.hpp>	// Pascal unit
#include <Math.hpp>	// Pascal unit
#include <Imglist.hpp>	// Pascal unit
#include <Menus.hpp>	// Pascal unit
#include <Advmenus.hpp>	// Pascal unit
#include <Atbxpvs.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Advstickypopupmenu
{
//-- type declarations -------------------------------------------------------
#pragma option push -b-
enum TStickyMenuItemStyle { isMenuItem, isCheckBox, isRadioButton, isSplitter, isControlItem };
#pragma option pop

#pragma option push -b-
enum TAdvControlStyle { csClassic, csFlat, csTMS, csGlyph, csTheme, csWinXP, csBorland };
#pragma option pop

#pragma option push -b-
enum TDisplayRelative { drScreen, drForm };
#pragma option pop

typedef void __fastcall (__closure *TItemClickEvent)(System::TObject* Sender, int Index);

typedef void __fastcall (__closure *TCheckClickEvent)(System::TObject* Sender, int Index, bool Checked);

typedef void __fastcall (__closure *TOnDrawImage)(System::TObject* Sender, Graphics::TCanvas* Canvas, const Types::TRect &ARect, bool Selected);

typedef void __fastcall (__closure *TOnDrawItem)(System::TObject* Sender, Graphics::TCanvas* Canvas, const Types::TRect &ARect, bool Selected);

typedef void __fastcall (__closure *TOnHideQuery)(System::TObject* Sender, bool &CanHide);

class DELPHICLASS TStickyMenuItem;
class PASCALIMPLEMENTATION TStickyMenuItem : public Classes::TCollectionItem 
{
	typedef Classes::TCollectionItem inherited;
	
private:
	bool FHideOnClick;
	bool FEnabled;
	int FImageIndex;
	int FTag;
	AnsiString FCaption;
	Classes::TComponent* FControl;
	System::TObject* FItemObject;
	TStickyMenuItemStyle FStyle;
	bool FAutoCheck;
	bool FChecked;
	Classes::TNotifyEvent FOnClick;
	TOnDrawImage FOnDrawImage;
	TOnDrawItem FOnDrawItem;
	int FGroupIndex;
	bool FVisible;
	void __fastcall SetCaption(const AnsiString Value);
	void __fastcall SetControl(const Classes::TComponent* Value);
	void __fastcall SetEnabled(const bool Value);
	void __fastcall SetHideOnClick(const bool Value);
	void __fastcall SetImageIndex(const int Value);
	void __fastcall SetItemObject(const System::TObject* Value);
	void __fastcall SetStyle(const TStickyMenuItemStyle Value);
	void __fastcall SetAutoCheck(const bool Value);
	void __fastcall SetChecked(const bool Value);
	void __fastcall UpdateExclusive(void);
	void __fastcall SetGroupIndex(const int Value);
	void __fastcall SetVisible(const bool Value);
	
protected:
	void __fastcall Click(void);
	virtual AnsiString __fastcall GetDisplayName();
	
public:
	__fastcall virtual TStickyMenuItem(Classes::TCollection* Collection);
	__fastcall virtual ~TStickyMenuItem(void);
	virtual void __fastcall Assign(Classes::TPersistent* Source);
	__property System::TObject* ItemObject = {read=FItemObject, write=SetItemObject};
	
__published:
	__property bool AutoCheck = {read=FAutoCheck, write=SetAutoCheck, default=1};
	__property bool Checked = {read=FChecked, write=SetChecked, default=0};
	__property TStickyMenuItemStyle Style = {read=FStyle, write=SetStyle, nodefault};
	__property Classes::TComponent* Control = {read=FControl, write=SetControl};
	__property AnsiString Caption = {read=FCaption, write=SetCaption};
	__property int GroupIndex = {read=FGroupIndex, write=SetGroupIndex, default=0};
	__property bool HideOnClick = {read=FHideOnClick, write=SetHideOnClick, default=0};
	__property bool Enabled = {read=FEnabled, write=SetEnabled, default=1};
	__property int ImageIndex = {read=FImageIndex, write=SetImageIndex, default=-1};
	__property int Tag = {read=FTag, write=FTag, default=0};
	__property bool Visible = {read=FVisible, write=SetVisible, default=1};
	__property Classes::TNotifyEvent OnClick = {read=FOnClick, write=FOnClick};
	__property TOnDrawImage OnDrawImage = {read=FOnDrawImage, write=FOnDrawImage};
	__property TOnDrawItem OnDrawItem = {read=FOnDrawItem, write=FOnDrawItem};
};


class DELPHICLASS TStickyMenuItems;
class DELPHICLASS TAdvStickyPopupMenu;
class DELPHICLASS TButtonBar;
class DELPHICLASS TButtonBarItem;
class PASCALIMPLEMENTATION TButtonBar : public Classes::TCollection 
{
	typedef Classes::TCollection inherited;
	
public:
	TButtonBarItem* operator[](int Index) { return Items[Index]; }
	
private:
	TAdvStickyPopupMenu* FOwner;
	HIDESBASE TButtonBarItem* __fastcall GetItem(int Index);
	HIDESBASE void __fastcall SetItem(int Index, const TButtonBarItem* Value);
	
protected:
	DYNAMIC Classes::TPersistent* __fastcall GetOwner(void);
	
public:
	__fastcall TButtonBar(Classes::TPersistent* AOwner);
	__property TButtonBarItem* Items[int Index] = {read=GetItem, write=SetItem/*, default*/};
	HIDESBASE TButtonBarItem* __fastcall Add(void);
	HIDESBASE void __fastcall Delete(int Index);
	HIDESBASE TButtonBarItem* __fastcall Insert(int Index);
public:
	#pragma option push -w-inl
	/* TCollection.Destroy */ inline __fastcall virtual ~TButtonBar(void) { }
	#pragma option pop
	
};


class DELPHICLASS TAdvStickyMenuPanel;
class PASCALIMPLEMENTATION TAdvStickyMenuPanel : public Controls::TCustomControl 
{
	typedef Controls::TCustomControl inherited;
	
private:
	Classes::TComponent* FOwner;
	Classes::TNotifyEvent FOnShouldHide;
	bool FShowBorder;
	TAdvStickyPopupMenu* FAdvStickyPopupMenu;
	int FButtonIndexHot;
	int FButtonIndexDown;
	int FMenuItemIndexHot;
	int FMenuItemIndexDown;
	bool FMouseOnIconBar;
	bool FDonotHideMenu;
	HIDESBASE MESSAGE void __fastcall CMMouseLeave(Messages::TMessage &Message);
	HIDESBASE MESSAGE void __fastcall CMDialogChar(Messages::TWMKey &Message);
	MESSAGE void __fastcall WMGetDlgCode(Messages::TMessage &Message);
	HIDESBASE MESSAGE void __fastcall CMFocusChanged(Controls::TCMFocusChanged &Message);
	void __fastcall OnMenuItemsVisibleChanged(System::TObject* Sender);
	Advmenus::TCustomAdvMenuStyler* __fastcall GetStyler(void);
	void __fastcall ButtonClick(int Index);
	void __fastcall MenuItemClick(int Index);
	
protected:
	virtual void __fastcall Paint(void);
	DYNAMIC void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
	DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
	DYNAMIC void __fastcall MouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
	DYNAMIC void __fastcall KeyDown(Word &Key, Classes::TShiftState Shift);
	void __fastcall DrawIconBar(Graphics::TCanvas* Canvas);
	void __fastcall DrawButtonBar(Graphics::TCanvas* Canvas);
	void __fastcall DrawButton(Graphics::TCanvas* Canvas, int Index);
	void __fastcall DrawItemsBackGround(Graphics::TCanvas* Canvas);
	void __fastcall DrawItems(Graphics::TCanvas* Canvas);
	void __fastcall DrawItem(Graphics::TCanvas* Canvas, int Index);
	void __fastcall InvalidateButton(int Index);
	void __fastcall InvalidateMenuItem(int Index);
	int __fastcall ButtonAtPos(int X, int Y);
	int __fastcall ItemAtPos(int X, int Y);
	void __fastcall SelectItem(int Index);
	void __fastcall HideMenuWindow(void);
	__property Classes::TNotifyEvent OnShouldHide = {read=FOnShouldHide, write=FOnShouldHide};
	__property bool ShowBorder = {read=FShowBorder, write=FShowBorder, nodefault};
	bool __fastcall ButtonBarVisible(void);
	int __fastcall GetTotalButtonsWidth(void);
	int __fastcall GetButtonBarHeight(void);
	TStickyMenuItem* __fastcall GetMaxItemWidth(int &ItemWidth);
	int __fastcall GetTotalItemsHeight(void);
	Types::TRect __fastcall GetButtonBarRect();
	Types::TRect __fastcall GetButtonRect(int Index);
	Types::TRect __fastcall GetClientRectEx();
	int __fastcall GetItemHeight(void);
	Types::TRect __fastcall GetItemsRect();
	Types::TRect __fastcall GetItemRect(int Index, Types::TRect &ItemWithCtrlRect)/* overload */;
	Types::TRect __fastcall GetItemRect(int Index)/* overload */;
	Types::TRect __fastcall GetIconBarRect();
	void __fastcall InitializeAndUpdate(void);
	TStickyMenuItem* __fastcall FindMenuItemFromAccel(Word Accel);
	TButtonBarItem* __fastcall FindButtonFromAccel(Word Accel);
	TButtonBar* __fastcall ButtonBar(void);
	TStickyMenuItems* __fastcall MenuItems(void);
	__property Advmenus::TCustomAdvMenuStyler* Styler = {read=GetStyler};
	
public:
	__fastcall virtual TAdvStickyMenuPanel(Classes::TComponent* AOwner);
	__fastcall virtual ~TAdvStickyMenuPanel(void);
	__property TAdvStickyPopupMenu* AdvStickyPopupMenu = {read=FAdvStickyPopupMenu, write=FAdvStickyPopupMenu};
public:
	#pragma option push -w-inl

⌨️ 快捷键说明

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