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 + -
显示快捷键?