📄 jvnavigationpane.pas
字号:
property DividerFont: TFont read FDividerFont write SetDividerFont;
property HeaderFont: TFont read FHeaderFont write SetHeaderFont;
property OnChange: TNotifyEvent read FOnChange write FOnChange;
end;
TJvIconPanel = class(TJvCustomControl)
private
FDropButton: TJvNavIconButton;
FColors: TJvNavPanelColors;
FStyleManager: TJvNavPaneStyleManager;
FStyleLink: TJvNavStyleLink;
FOnDropDownMenu: TContextPopupEvent;
FParentStyleManager: Boolean;
procedure SetDropDownMenu(const Value: TPopupMenu);
function GetDropDownMenu: TPopupMenu;
procedure SetColors(const Value: TJvNavPanelColors);
procedure SetStyleManager(const Value: TJvNavPaneStyleManager);
procedure DoStyleChange(Sender: TObject);
procedure ParentStyleManagerChanged(var Msg: TMsgStyleManagerChange); message CM_PARENTSTYLEMANAGERCHANGED;
procedure ParentStyleManagerChange(var Msg: TMessage); message CM_PARENTSTYLEMANAGERCHANGE;
{$IFDEF VCL}
procedure CMControlChange(var Msg: TMessage); message CM_CONTROLCHANGE;
procedure WMEraseBkgnd(var Msg: TWMEraseBkgnd); message WM_ERASEBKGND;
{$ENDIF VCL}
procedure SetParentStyleManager(const Value: Boolean);
protected
procedure DoDropDownMenu(Sender: TObject; MousePos: TPoint; var Handled: Boolean);
procedure DoColorsChange(Sender: TObject);
procedure Paint; override;
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
{$IFDEF VisualCLX}
procedure ControlsListChanged(Control: TControl; Inserting: Boolean); override;
function WidgetFlags: Integer; override;
{$ENDIF VisualCLX}
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
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 OnDropDownMenu: TContextPopupEvent read FOnDropDownMenu write FOnDropDownMenu;
end;
TJvNavIconButtonType = (nibDropDown, nibImage, nibDropArrow, nibClose);
TJvNavIconButton = class(TJvCustomGraphicButton)
private
FChangeLink: TChangeLink;
FImages: TCustomImageList;
FImageIndex: TImageIndex;
FButtonType: TJvNavIconButtonType;
FColors: TJvNavPanelColors;
FStyleManager: TJvNavPaneStyleManager;
FStyleLink: TJvNavStyleLink;
FParentStyleManager: Boolean;
procedure SetImages(const Value: TCustomImageList);
procedure SetImageIndex(const Value: TImageIndex);
procedure DoImagesChange(Sender: TObject);
procedure SetButtonType(const Value: TJvNavIconButtonType);
procedure SetColors(const Value: TJvNavPanelColors);
procedure DoColorsChange(Sender: TObject);
procedure SetStyleManager(const Value: TJvNavPaneStyleManager);
procedure DoStyleChange(Sender: TObject);
procedure ParentStyleManagerChanged(var Msg: TMsgStyleManagerChange); message CM_PARENTSTYLEMANAGERCHANGED;
procedure SetParentStyleManager(const Value: Boolean);
function IsColorsStored: Boolean;
protected
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
procedure Paint; override;
property OnDropDownMenu;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
published
property Action;
property Align;
property AllowAllUp;
property Anchors;
// property Caption;
property Constraints;
property Down;
{$IFDEF VCL}
property DragCursor;
property DragKind;
property OnEndDock;
property OnStartDock;
{$ENDIF VCL}
property DragMode;
property DropDownMenu;
property GroupIndex;
property Enabled;
property Font;
property ParentFont;
property ParentShowHint;
property PopupMenu;
property ShowHint;
property Visible;
property ButtonType: TJvNavIconButtonType read FButtonType write SetButtonType;
property Colors: TJvNavPanelColors read FColors write SetColors stored IsColorsStored;
property Images: TCustomImageList read FImages write SetImages;
property ImageIndex: TImageIndex read FImageIndex write SetImageIndex;
property StyleManager: TJvNavPaneStyleManager read FStyleManager write SetStyleManager;
// (p3) must be published after StyleManager
property ParentStyleManager: Boolean read FParentStyleManager write SetParentStyleManager default True;
property Width default 22;
property Height default 22;
property OnClick;
property OnContextPopup;
property OnDragDrop;
property OnDragOver;
property OnEndDrag;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnStartDrag;
end;
TJvNavPanelToolButton = class(TJvCustomGraphicButton)
private
FChangeLink: TChangeLink;
FImages: TCustomImageList;
FImageIndex: TImageIndex;
FButtonType: TJvNavIconButtonType;
FDrawPartialMenuFrame: Boolean;
FTransparentDown: Boolean;
procedure DoImagesChange(Sender: TObject);
procedure SetButtonType(const Value: TJvNavIconButtonType);
procedure SetImageIndex(const Value: TImageIndex);
procedure SetImages(const Value: TCustomImageList);
protected
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
procedure Paint; override;
procedure ActionChange(Sender: TObject; CheckDefaults: Boolean); override;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
property TransparentDown: Boolean read FTransparentDown write FTransparentDown default False;
property DrawPartialMenuFrame: Boolean read FDrawPartialMenuFrame write FDrawPartialMenuFrame default False;
property Images: TCustomImageList read FImages write SetImages;
property ImageIndex: TImageIndex read FImageIndex write SetImageIndex;
property ButtonType: TJvNavIconButtonType read FButtonType write SetButtonType;
property Caption;
end;
TJvNavPanelButton = class(TJvCustomGraphicButton)
private
FImageIndex: TImageIndex;
FImages: TCustomImageList;
FColors: TJvNavPanelColors;
FStyleManager: TJvNavPaneStyleManager;
FStyleLink: TJvNavStyleLink;
FAlignment: TAlignment;
FWordWrap: Boolean;
FParentStyleManager: Boolean;
procedure SetImageIndex(const Value: TImageIndex);
procedure SetImages(const Value: TCustomImageList);
procedure SetColors(const Value: TJvNavPanelColors);
procedure DoColorsChange(Sender: TObject);
procedure SetStyleManager(const Value: TJvNavPaneStyleManager);
procedure DoStyleChange(Sender: TObject);
procedure SetAlignment(const Value: TAlignment);
procedure SetWordWrap(const Value: Boolean);
{$IFDEF VCL}
procedure CMDialogChar(var Msg: TCMDialogChar); message CM_DIALOGCHAR;
{$ENDIF VCL}
procedure ParentStyleManagerChanged(var Msg: TMsgStyleManagerChange); message CM_PARENTSTYLEMANAGERCHANGED;
procedure SetParentStyleManager(const Value: Boolean);
function IsColorsStored: Boolean;
protected
procedure TextChanged; override;
procedure FontChanged; override;
procedure ActionChange(Sender: TObject; CheckDefaults: Boolean); override;
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
{$IFDEF VisualCLX}
function WantKey(Key: Integer; Shift: TShiftState; const KeyText: WideString): Boolean; override;
{$ENDIF VisualCLX}
property Alignment: TAlignment read FAlignment write SetAlignment default taLeftJustify;
property WordWrap: Boolean read FWordWrap write SetWordWrap default False;
procedure PaintButton(Canvas: TCanvas); override;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
published
property Action;
property Align;
property AllowAllUp;
property Anchors;
property Caption;
property Constraints;
property Down;
property DropDownMenu;
{$IFDEF VCL}
property DragCursor;
property DragKind;
property OnEndDock;
property OnStartDock;
{$ENDIF VCL}
property DragMode;
property Enabled;
property Font;
property GroupIndex;
property HotTrack default True;
property HotTrackFont;
property HotTrackFontOptions;
property ParentFont;
property ParentShowHint;
property PopupMenu;
property ShowHint;
property Visible;
property Width default 125;
property Height default 28;
property Colors: TJvNavPanelColors read FColors write SetColors stored IsColorsStored;
property StyleManager: TJvNavPaneStyleManager read FStyleManager write SetStyleManager;
// (p3) must be published after StyleManager
property ParentStyleManager: Boolean read FParentStyleManager write SetParentStyleManager default True;
property ImageIndex: TImageIndex read FImageIndex write SetImageIndex;
property Images: TCustomImageList read FImages write SetImages;
property OnClick;
property OnContextPopup;
property OnDragDrop;
property OnDragOver;
property OnEndDrag;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnStartDrag;
end;
TJvNavPaneBackgroundImage = class(TPersistent)
private
FCenter: Boolean;
FTile: Boolean;
FTransparent: Boolean;
FProportional: Boolean;
FStretch: Boolean;
FDrawing: Boolean;
FPicture: TPicture;
FOnChange: TNotifyEvent;
procedure SetCenter(const Value: Boolean);
procedure SetPicture(const Value: TPicture);
procedure SetProportional(const Value: Boolean);
procedure SetStretch(const Value: Boolean);
procedure SetTile(const Value: Boolean);
procedure SetTransparent(const Value: Boolean);
procedure PictureChanged(Sender: TObject);
protected
procedure DrawImage(Canvas: TCanvas; ARect: TRect); virtual;
procedure Change; virtual;
function CalcRect(ADestRect: TRect): TRect;
public
constructor Create;
destructor Destroy; override;
function HasImage: Boolean;
published
property Picture: TPicture read FPicture write SetPicture;
property Stretch: Boolean read FStretch write SetStretch;
property Proportional: Boolean read FProportional write SetProportional;
property Center: Boolean read FCenter write SetCenter;
property Tile: Boolean read FTile write SetTile;
property Transparent: Boolean read FTransparent write SetTransparent;
property OnChange: TNotifyEvent read FOnChange write FOnChange;
end;
TJvNavPanelPage = class(TJvCustomPage)
private
FNavPanel: TJvNavPanelButton;
FIconButton: TJvNavIconButton;
FOnClick: TNotifyEvent;
FIconPanel: TJvIconPanel;
FStyleManager: TJvNavPaneStyleManager;
FStyleLink: TJvNavStyleLink;
FHeader: TJvNavPanelHeader;
FImageIndex: TImageIndex;
FParentStyleManager: Boolean;
FBackground: TJvNavPaneBackgroundImage;
procedure SetCaption(const Value: TCaption);
procedure SetIconic(const Value: Boolean);
procedure SetImageIndex(const Value: TImageIndex);
function GetCaption: TCaption;
function GetIconic: Boolean;
function GetImageIndex: TImageIndex;
procedure DoButtonClick(Sender: TObject);
function GetHint: string;
procedure SetHint(const Value: string);
procedure SetIconPanel(const Value: TJvIconPanel);
function GetColors: TJvNavPanelColors;
procedure SetColors(const Value: TJvNavPanelColors);
procedure SetStyleManager(const Value: TJvNavPaneStyleManager);
procedure DoStyleChange(Sender: TObject);
procedure SetAutoHeader(const Value: Boolean);
function GetAutoHeader: Boolean;
function GetAlignment: TAlignment;
function GetWordWrap: 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;
{$IFDEF VCL}
procedure CMControlChange(var Msg: TMessage); message CM_CONTROLCHANGE;
{$ENDIF VCL}
procedure SetParentStyleManager(const Value: Boolean);
procedure SetAction(const Value: TBasicAction);
procedure SetBackground(const Value: TJvNavPaneBackgroundImage);
procedure DoBackgroundChange(Sender: TObject);
protected
procedure UpdatePageList;
function GetAction: TBasicAction;
{$IFDEF VCL}{$IFDEF COMPILER6_UP} override; {$ENDIF}{$ENDIF}
{$IFDEF VisualCLX}
procedure ControlsListChanged(Control: TControl; Inserting: Boolean); override;
{$ENDIF VisualCLX}
procedure SetParent({$IFDEF VisualCLX} const {$ENDIF} AParent: TWinControl); override;
procedure SetPageIndex(Value: Integer); override;
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
property NavPanel: TJvNavPanelButton read FNavPanel;
property IconButton: TJvNavIconButton read FIconButton;
property IconPanel: TJvIconPanel read FIconPanel write SetIconPanel;
property Colors: TJvNavPanelColors read GetColors 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 Header: TJvNavPanelHeader read FHeader;
property Alignment: TAlignment read GetAlignment write SetAlignment;
property WordWrap: Boolean read GetWordWrap write SetWordWrap;
procedure ActionChange(Sender: TObject; CheckDefaults: Boolean); override;
procedure Paint; override;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
property AutoHeader: Boolean read GetAutoHeader write SetAutoHeader;
published
property Action: TBasicAction read GetAction write SetAction;
property Background: TJvNavPaneBackgroundImage read FBackground write SetBackground;
property Color default clWindow;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -