📄 jvqnavigationpane.pas
字号:
private
FStyleLink: TJvNavStyleLink;
FChangeLink: TChangeLink;
FStyleManager: TJvNavPaneStyleManager;
FButtonWidth: Integer;
FHeaderHeight: Integer;
FEdgeRounding: Integer;
FButtonHeight: Integer;
FImages: TCustomImageList;
FButtons: TJvNavPaneToolButtons;
FOnButtonClick: TJvNavPaneToolButtonClick;
FDropDown: TJvNavPanelToolButton;
FCloseButton: TJvNavPanelToolButton;
FOnClose: TNotifyEvent;
FShowGrabber: Boolean;
FOnDropDownMenu: TContextPopupEvent;
FParentStyleManager: Boolean;
FBackground: TJvNavPaneBackgroundImage;
FColors: TJvNavPanelColors;
FHeaderVisible: Boolean;
procedure DoStyleChange(Sender: TObject);
procedure DoImagesChange(Sender: TObject);
procedure ButtonsChanged;
procedure SetStyleManager(const Value: TJvNavPaneStyleManager);
procedure SetButtonHeight(const Value: Integer);
procedure SetButtonWidth(const Value: Integer);
procedure SetEdgeRounding(const Value: Integer);
procedure SetHeaderHeight(const Value: Integer);
procedure SetImages(const Value: TCustomImageList);
procedure SetButtons(const Value: TJvNavPaneToolButtons);
procedure InternalButtonClick(Sender: TObject);
function GetCloseButton: Boolean;
function GetDropDownMenu: TPopupMenu;
procedure SetCloseButton(const Value: Boolean);
procedure SetDropDownMenu(const Value: TPopupMenu);
procedure DoCloseClick(Sender: TObject);
procedure SetShowGrabber(const Value: Boolean);
procedure ParentStyleManagerChanged(var Msg: TMsgStyleManagerChange); message CM_PARENTSTYLEMANAGERCHANGED;
procedure ParentStyleManagerChange(var Msg: TMessage); message CM_PARENTSTYLEMANAGERCHANGE;
procedure SetParentStyleManager(const Value: Boolean);
function GetDrawPartialMenuFrame: Boolean;
procedure SetDrawPartialMenuFrame(const Value: Boolean);
procedure SetBackground(const Value: TJvNavPaneBackgroundImage);
procedure SetColors(const Value: TJvNavPanelColors);
procedure SetHeaderVisible(const Value: Boolean);
function IsColorsStored: Boolean;
procedure AlignButtons;
protected
procedure Paint; override;
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
procedure TextChanged; override;
procedure FontChanged; override;
procedure DoDropDownMenu(Sender: TObject; MousePos: TPoint; var Handled: Boolean);
procedure Loaded; override;
procedure ControlsListChanged(Control: TControl; Inserting: Boolean); override;
function WidgetFlags: Integer; override;
property EdgeRounding: Integer read FEdgeRounding write SetEdgeRounding default 9;
procedure AdjustClientRect(var Rect: TRect); override;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
function GetHitTestInfoAt(X, Y: Integer): TJvToolPanelHitTestInfos;
procedure SetBounds(ALeft: Integer; ATop: Integer; AWidth: Integer; AHeight: Integer); override;
protected
property Background: TJvNavPaneBackgroundImage read FBackground write SetBackground;
property DrawPartialMenuFrame: Boolean read GetDrawPartialMenuFrame write SetDrawPartialMenuFrame default False;
property Buttons: TJvNavPaneToolButtons read FButtons write SetButtons;
property ButtonWidth: Integer read FButtonWidth write SetButtonWidth default 25;
property ButtonHeight: Integer read FButtonHeight write SetButtonHeight default 22;
property CloseButton: Boolean read GetCloseButton write SetCloseButton default True;
property Colors: TJvNavPanelColors read FColors write SetColors stored IsColorsStored;
property DropDownMenu: TPopupMenu read GetDropDownMenu write SetDropDownMenu;
property HeaderHeight: Integer read FHeaderHeight write SetHeaderHeight default 29;
property HeaderVisible: Boolean read FHeaderVisible write SetHeaderVisible default True;
property Images: TCustomImageList read FImages write SetImages;
// property ParentColor default False;
property ShowGrabber: Boolean read FShowGrabber write SetShowGrabber default True;
property StyleManager: TJvNavPaneStyleManager read FStyleManager write SetStyleManager;
property ParentStyleManager: Boolean read FParentStyleManager write SetParentStyleManager default True;
property OnButtonClick: TJvNavPaneToolButtonClick read FOnButtonClick write FOnButtonClick;
property OnClose: TNotifyEvent read FOnClose write FOnClose;
property OnDropDownMenu: TContextPopupEvent read FOnDropDownMenu write FOnDropDownMenu;
end;
TJvNavPaneToolPanel = class(TJvCustomNavPaneToolPanel)
published
property Align;
property Anchors;
property Caption;
property Constraints;
property DragMode;
property Background;
property DrawPartialMenuFrame;
property Buttons;
property ButtonWidth;
property ButtonHeight;
property CloseButton;
property Colors;
property DropDownMenu;
property HeaderHeight;
property HeaderVisible;
property Images;
property ShowGrabber;
property StyleManager;
// (p3) must be published after StyleManager
property ParentStyleManager;
property OnButtonClick;
property OnClose;
property OnDropDownMenu;
property Enabled;
property Font;
property ParentColor;
property ParentFont;
property ParentShowHint;
property PopupMenu;
property ShowHint;
property Visible;
property Width default 185;
property Height default 41;
property OnClick;
property OnContextPopup;
property OnDragDrop;
property OnDragOver;
property OnEndDrag;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnStartDrag;
end;
TJvCustomNavigationPane = class(TJvCustomPageList)
private
FIconPanel: TJvIconPanel;
FSplitter: TJvOutlookSplitter;
FLargeImages: TCustomImageList;
FSmallImages: TCustomImageList;
FColors: TJvNavPanelColors;
FNavPanelFont: TFont;
FResizable: Boolean;
FButtonWidth: Integer;
FButtonHeight: Integer;
FStyleManager: TJvNavPaneStyleManager;
FStyleLink: TJvNavStyleLink;
FNavPanelHotTrackFont: TFont;
FNavPanelHotTrackFontOptions: TJvTrackFontOptions;
FAutoHeaders: Boolean;
FWordWrap: Boolean;
FAlignment: TAlignment;
FOnDropDownMenu: TContextPopupEvent;
FParentStyleManager: Boolean;
FBackground: TJvNavPaneBackgroundImage;
function GetDropDownMenu: TPopupMenu;
function GetSmallImages: TCustomImageList;
procedure SetDropDownMenu(const Value: TPopupMenu);
procedure SetLargeImages(const Value: TCustomImageList);
procedure SetSmallImages(const Value: TCustomImageList);
function GetMaximizedCount: Integer;
procedure SetMaximizedCount(Value: Integer);
procedure HidePanel(Index: Integer);
procedure ShowPanel(Index: Integer);
procedure SetColors(const Value: TJvNavPanelColors);
procedure SetResizable(const Value: Boolean);
function GetNavPage(Index: Integer): TJvNavPanelPage;
procedure DoSplitterCanResize(Sender: TObject; var NewSize: Integer; var Accept: Boolean);
procedure DoColorsChange(Sender: TObject);
procedure SetNavPanelFont(const Value: TFont);
procedure SetNavPanelHotTrackFont(const Value: TFont);
procedure SetNavPanelHotTrackFontOptions(const Value: TJvTrackFontOptions);
procedure DoNavPanelFontChange(Sender: TObject);
procedure SetButtonHeight(const Value: Integer);
procedure SetButtonWidth(const Value: Integer);
procedure SetSplitterHeight(const Value: Integer);
function GetSplitterHeight: Integer;
procedure SetStyleManager(const Value: TJvNavPaneStyleManager);
procedure DoStyleChange(Sender: TObject);
procedure SetAutoHeaders(const Value: Boolean);
procedure SetAlignment(const Value: TAlignment);
procedure SetWordWrap(const Value: Boolean);
procedure ParentStyleManagerChanged(var Msg: TMsgStyleManagerChange); message CM_PARENTSTYLEMANAGERCHANGED;
procedure ParentStyleManagerChange(var Msg: TMessage); message CM_PARENTSTYLEMANAGERCHANGE;
procedure SetParentStyleManager(const Value: Boolean);
procedure SetBackground(const Value: TJvNavPaneBackgroundImage);
function GetSplitterClick: TNotifyEvent;
function GetSplitterDblClick: TNotifyEvent;
function GetSplitterMouseDown: TMouseEvent;
function GetSplitterMouseEnter: TNotifyEvent;
function GetSplitterMouseLeave: TNotifyEvent;
function GetSplitterMouseMove: TMouseMoveEvent;
function GetSplitterMouseUp: TMouseEvent;
procedure SetSplitterClick(const Value: TNotifyEvent);
procedure SetSplitterDblClick(const Value: TNotifyEvent);
procedure SetSplitterMouseDown(const Value: TMouseEvent);
procedure SetSplitterMouseEnter(const Value: TNotifyEvent);
procedure SetSplitterMouseLeave(const Value: TNotifyEvent);
procedure SetSplitterMouseMove(const Value: TMouseMoveEvent);
procedure SetSplitterMouseUp(const Value: TMouseEvent);
function GetSplitterCanResize: TCanResizeEvent;
function GetSplitterMoved: TNotifyEvent;
function GetSplitterPaint: TNotifyEvent;
procedure SetSplitterCanResize(const Value: TCanResizeEvent);
procedure SetSplitterMoved(const Value: TNotifyEvent);
procedure SetSplitterPaint(const Value: TNotifyEvent);
protected
function IsColorsStored: Boolean;
function IsNavPanelFontStored: Boolean;
function IsNavPanelFontHotTrackStored: Boolean;
function IsNavPanelHotTrackFontOptionsStored: Boolean;
procedure UpdatePages; virtual;
procedure ControlsListChanged(Control: TControl; Inserting: Boolean); override;
function WidgetFlags: Integer; override;
procedure Paint; override;
procedure SetActivePage(Page: TJvCustomPage); override;
procedure InsertPage(APage: TJvCustomPage); override;
procedure RemovePage(APage: TJvCustomPage); override;
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
procedure Loaded; override;
procedure DoDropDownMenu(Sender: TObject; MousePos: TPoint; var Handled: Boolean);
function InternalGetPageClass: TJvCustomPageClass; override;
property NavPages[Index: Integer]: TJvNavPanelPage read GetNavPage;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
function HidePage(Page: TJvCustomPage): TJvCustomPage; override;
function ShowPage(Page: TJvCustomPage; PageIndex: Integer = -1): TJvCustomPage; override;
procedure UpdatePositions;
protected
property AutoHeaders: Boolean read FAutoHeaders write SetAutoHeaders default False;
property Alignment: TAlignment read FAlignment write SetAlignment default taLeftJustify;
property Background: TJvNavPaneBackgroundImage read FBackground write SetBackground;
property ButtonHeight: Integer read FButtonHeight write SetButtonHeight default 28;
property ButtonWidth: Integer read FButtonWidth write SetButtonWidth default 22;
property NavPanelFont: TFont read FNavPanelFont write SetNavPanelFont;
property NavPanelHotTrackFont: TFont read FNavPanelHotTrackFont write SetNavPanelHotTrackFont;
property NavPanelHotTrackFontOptions: TJvTrackFontOptions read FNavPanelHotTrackFontOptions write SetNavPanelHotTrackFontOptions;
property Color default clWindow;
property Colors: TJvNavPanelColors read FColors write SetColors;
property StyleManager: TJvNavPaneStyleManager read FStyleManager write SetStyleManager;
// (p3) must be published after StyleManager
property ParentStyleManager: Boolean read FParentStyleManager write SetParentStyleManager default True;
property DropDownMenu: TPopupMenu read GetDropDownMenu write SetDropDownMenu;
property LargeImages: TCustomImageList read FLargeImages write SetLargeImages;
property MaximizedCount: Integer read GetMaximizedCount write SetMaximizedCount;
property ParentColor default False;
property Resizable: Boolean read FResizable write SetResizable default True;
property SmallImages: TCustomImageList read GetSmallImages write SetSmallImages;
property SplitterHeight: Integer read GetSplitterHeight write SetSplitterHeight default 7;
property WordWrap: Boolean read FWordWrap write SetWordWrap default False;
property Splitter: TJvOutlookSplitter read FSplitter;
property IconPanel: TJvIconPanel read FIconPanel;
property OnDropDownMenu: TContextPopupEvent read FOnDropDownMenu write FOnDropDownMenu;
property OnSplitterCanResize: TCanResizeEvent read GetSplitterCanResize write SetSplitterCanResize;
property OnSplitterMoved: TNotifyEvent read GetSplitterMoved write SetSplitterMoved;
property OnSplitterPaint: TNotifyEvent read GetSplitterPaint write SetSplitterPaint;
property OnSplitterClick: TNotifyEvent read GetSplitterClick write SetSplitterClick;
property OnSplitterMouseEnter: TNotifyEvent read GetSplitterMouseEnter write SetSplitterMouseEnter;
property OnSplitterMouseLeave: TNotifyEvent read GetSplitterMouseLeave write SetSplitterMouseLeave;
property OnSplitterDblClick: TNotifyEvent read GetSplitterDblClick write SetSplitterDblClick;
property OnSplitterMouseDown: TMouseEvent read GetSplitterMouseDown write SetSplitterMouseDown;
property OnSplitterMouseMove: TMouseMoveEvent read GetSplitterMouseMove write SetSplitterMouseMove;
property OnSplitterMouseUp: TMouseEvent read GetSplitterMouseUp write SetSplitterMouseUp;
end;
TJvNavigationPane = class(TJvCustomNavigationPane)
public
property NavPages;
property Splitter;
property IconPanel;
published
property ActivePage;
// property Alignment;
property Align;
property Anchors;
property AutoHeaders;
property Background;
property ButtonHeight;
property ButtonWidth;
property Caption;
property Color;
property Colors stored IsColorsStored;
property StyleManager;
// (p3) must be published after StyleManager
property ParentStyleManager;
property Constraints;
property DragMode;
property DropDownMenu;
property Enabled;
property Font;
property ParentFont;
property ParentShowHint;
property PopupMenu;
property ShowHint;
property SplitterHeight;
property Visible;
property LargeImages;
property MaximizedCount;
property NavPanelFont stored IsNavPanelFontStored;
property NavPanelHotTrackFont stored IsNavPanelFontHotTrackStored;
property NavPanelHotTrackFontOptions stored IsNavPanelHotTrackFontOptionsStored;
property Resizable;
property SmallImages;
// property WordWrap;
property OnChange;
property OnChanging;
property OnDropDownMenu;
property OnClick;
property OnContextPopup;
property OnEnter;
property OnExit;
property OnKeyDown;
property OnKeyPress;
property OnKeyUp;
property OnMouseDown;
property OnMouseEnter;
property OnMouseLeave;
property OnMouseMove;
property OnMouseUp;
property OnMouseWheel;
property OnMouseWheelDown;
property OnMouseWheelUp;
property OnResize;
property OnSplitterCanResize;
property OnSplitterMoved;
property OnSplitterPaint;
property OnSplitterClick;
property OnSplitterMouseEnter;
property OnSplitterMouseLeave;
property OnSplitterDblClick;
property OnSplitterMouseDown;
property OnSplitterMouseMove;
property OnSplitterMouseUp;
end;
TJvNavStyleLink = class(TObject)
private
FSender: TObject;
FOnChange: TNotifyEvent;
public
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -