📄 mxoutlookbarpro.pas
字号:
Procedure DrawSolidBackground( ACanvas: TCanvas; ARect: TRect ); Virtual;
Procedure DrawBitmapBackground( ACanvas: TCanvas; ARect: TRect; Tiled: Boolean ); Virtual;
Procedure AlphaBlendBackground( DrawBitmap: TBitmap; Const ARect: TRect ); Virtual;
Procedure ConvertToGrayScale( DrawBitmap: TBitmap; ARect: TRect ); Virtual;
Procedure Change; Dynamic;
Property AlphaBlend: Byte Read FAlphaBlend Write SetAlphaBlend Default 0;
Property Bitmap: TBitmap Read FBackgroundBitmap Write SetBackgroundBitmap;
Property BitmapCopy: TmxBitmapCopy Read FBitmapCopy Write SetBitmapCopy Default bcSrcCopy;
Property Color: TColor Read FColor Write SetColor Default clBtnFace;
Property Gradient: TmxGradient Read FGradient Write FGradient;
Property Grayscale: Boolean Read FGrayscale Write SetGrayscale Default False;
Property Style: TmxBackgroundStyle Read FBackgroundStyle Write SetBackgroundStyle Default btSolid;
Public
Constructor Create; Virtual;
Destructor Destroy; Override;
Procedure DrawBackground( DrawBitmap: TBitmap; ARect: TRect ); Virtual;
Procedure Assign( Source: TPersistent ); Override;
Procedure AssignTo( Destination: TPersistent ); Override;
Property OnChangeParameter: TNotifyEvent Read FOnChangeParameter Write SetOnChangeParameter;
End;
// ************************************************************************
// ************************************************************************
// ************************************************************************
TmxBackground = Class( TmxCustomBackground )
Published
Property AlphaBlend;
Property Bitmap;
Property BitmapCopy;
Property Color;
Property Gradient;
Property Grayscale;
Property Style;
Property OnChangeParameter;
End;
// ************************************************************************
// ************************************************************************
// ************************************************************************
TmxButtonBackground = Class( TmxBackground )
Public
Constructor Create; Override;
End;
// ************************************************************************
// ************************************************************************
// ************************************************************************
TmxGlyph = Class( TPersistent )
Private
FPosition: TmxGlyphPosition;
FBitmap: TBitmap;
FDrawing: Boolean;
FTransparent: Boolean;
FVisible: Boolean;
FOnChangeParameter: TNotifyEvent;
Procedure SetTransparent( AValue: Boolean );
Procedure SetVisible( AValue: Boolean );
Procedure SetPosition( AValue: TmxGlyphPosition );
Procedure SetBitmap( AValue: TBitmap );
Procedure SetOnChangeParameter( AValue: TNotifyEvent );
Protected
Procedure Change; Virtual;
Public
Constructor Create; Virtual;
Destructor Destroy; Override;
Procedure DrawGlyph( DrawBitmap: TBitmap; ARect: TRect );
Procedure Assign( Source: TPersistent ); Override;
Procedure AssignTo( Destination: TPersistent ); Override;
Published
Property Position: TmxGlyphPosition Read FPosition Write SetPosition Default gpBottomRight;
Property Bitmap: TBitmap Read FBitmap Write SetBitmap;
Property Transparent: Boolean Read FTransparent Write SetTransparent Default True;
Property Visible: Boolean Read FVisible Write SetVisible Default True;
Property OnChangeParameter: TNotifyEvent Read FOnChangeParameter Write SetOnChangeParameter;
End;
// ************************************************************************
// ************************************************************************
// ************************************************************************
TmxStatusButton = Class( TPersistent )
Private
FArrowColor: TColor;
FBackground: TColor;
FBorderColor: TColor;
FTransparent: Boolean;
FOnChangeParameter: TNotifyEvent;
Procedure SetTransparent( AValue: Boolean );
Procedure SetColor( Index: Integer; AValue: TColor );
Function GetColor( Index: Integer ): TColor;
Protected
Procedure Change; Dynamic;
Public
Constructor Create; Virtual;
Procedure Assign( Source: TPersistent ); Override;
Procedure AssignTo( Destination: TPersistent ); Override;
Published
Property ArrowColor: TColor Index 1 Read GetColor Write SetColor;
Property Background: TColor Index 2 Read GetColor Write SetColor;
Property BorderColor: TColor Index 3 Read GetColor Write SetColor;
Property Transparent: Boolean Read FTransparent Write SetTransparent Default False;
Property OnChangeParameter: TNotifyEvent Read FOnChangeParameter Write FOnChangeParameter;
End;
// ************************************************************************
// ************************************************************************
// ************************************************************************
TmxXPColors = Class( TPersistent )
Private
FBorderColor: TColor;
FBackground: TColor;
FPressedBackground: TColor;
FShadowColor: TColor;
FUseShadow: Boolean;
FOnChange: TNotifyEvent;
Procedure SetBorderColor( AValue: TColor );
Procedure SetShadowColor( AValue: TColor );
Procedure SetBackground( AValue: TColor );
Procedure SetPressedBackground( AValue: TColor );
Procedure SetUseShadow( AValue: Boolean );
Protected
Procedure Change; Dynamic;
Public
Constructor Create; Virtual;
Property OnChange: TNotifyEvent Read FOnChange Write FOnChange;
Procedure SetToDefault;
Procedure Assign( Source: TPersistent ); Override;
Procedure AssignTo( Destination: TPersistent ); Override;
Published
Property BorderColor: TColor Read FBorderColor Write SetBorderColor;
Property Background: TColor Read FBackground Write SetBackground;
Property PressedBackground: TColor Read FPressedBackground Write SetPressedBackground;
Property UseShadow: Boolean Read FUseShadow Write SetUseShadow;
Property ShadowColor: TColor Read FShadowColor Write SetShadowColor;
End;
// ************************************************************************
// ************************************************************************
// ************************************************************************
TmxBarSettings = Class( TPersistent )
Private
FAlignment: TAlignment;
FButtonFont: TFont;
FButtonHighlightFont: TFont;
FButtonDistance: Integer;
FPicLabDistance: Integer;
FButtonSizes: Array[ 1..3 ] Of Integer;
FButtonUp: TmxButtonBackground;
FButtonDown: TmxButtonBackground;
FButtonFocused: TmxButtonBackground;
FButtonDisabled: TmxButtonBackground;
FButtonStyle: TmxButtonStyle;
FButtonView: TmxButtonView;
FCaptionStyle: TmxCaptionStyle;
FCaptionPen: TPen;
FColor: TColor;
FExplorerAddOn: Word;
FFont: TFont;
FGlyphTop: Integer;
FHeight: Integer;
FHeaderPen: TPen;
FHighlightFont: TFont;
FKeySupport: Boolean;
FLayout: TmxGlyphLayout;
FStatusButton: TmxStatusButton;
FXPColors: TmxXPColors;
FOnChangeParameter: TNotifyEvent;
Procedure SetColor( AValue: TColor );
Procedure SetAlignment( AValue: TAlignment );
Procedure SetLayout( AValue: TmxGlyphLayout );
Procedure SetHeight( AValue: Integer );
Procedure SetFont( AValue: TFont );
Procedure SetHighlightFont( AValue: TFont );
Procedure SetButtonFont( AValue: TFont );
Procedure SetButtonHighlightFont( AValue: TFont );
Procedure SetCaptionPen( AValue: TPen );
Procedure SetHeaderPen( AValue: TPen );
Procedure SetExplorerAddOn( AValue: Word );
Procedure SetCaptionStyle( AValue: TmxCaptionStyle );
Procedure PropertyChanged( Sender: TObject );
Function GetBackground( Index: Integer ): TmxButtonBackground;
Procedure SetBackground( Index: Integer; AValue: TmxButtonBackground );
Procedure SetStatusButton( AValue: TmxStatusButton );
Procedure SetButtonSize( Index: Integer; AValue: Integer );
Function GetButtonSize( Index: Integer ): Integer;
Procedure SetButtonDistance( AValue: Integer );
Procedure SetButtonStyle( AValue: TmxButtonStyle );
Procedure SetButtonView( AValue: TmxButtonView );
Procedure SetPicLabDistance( AValue: Integer );
Procedure SetGlyphTop( AValue: Integer );
Procedure SetKeySupport( AValue: Boolean );
Protected
Procedure Change; Dynamic;
Public
Constructor Create; Virtual;
Destructor Destroy; Override;
Procedure Assign( Source: TPersistent ); Override;
Procedure AssignTo( Destination: TPersistent ); Override;
Published
Property Alignment: TAlignment Read FAlignment Write SetAlignment Default taCenter;
Property ButtonUp: TmxButtonBackground Index 1 Read GetBackground Write SetBackground;
Property ButtonDown: TmxButtonBackground Index 2 Read GetBackground Write SetBackground;
Property ButtonFocused: TmxButtonBackground Index 3 Read GetBackground Write SetBackground;
Property ButtonDisabled: TmxButtonBackground Index 4 Read GetBackground Write SetBackground;
Property ButtonFont: TFont Read FButtonFont Write SetButtonFont;
Property ButtonHighlightFont: TFont Read FButtonHighlightFont Write SetButtonHighlightFont;
Property ButtonStyle: TmxButtonStyle Read FButtonStyle Write SetButtonStyle;
Property ButtonView: TmxButtonView Read FButtonView Write SetButtonView;
Property CaptionStyle: TmxCaptionStyle Read FCaptionStyle Write SetCaptionStyle Default csButtonStyle;
Property CaptionPen: TPen Read FCaptionPen Write SetCaptionPen;
Property Color: TColor Read FColor Write SetColor Default clbtnFace;
Property Distance: Integer Read FButtonDistance Write SetButtonDistance Default 2;
Property ExplorerAddOn: Word Read FExplorerAddOn Write SetExplorerAddOn;
Property Font: TFont Read FFont Write SetFont;
Property GlyphTop: Integer Read FGlyphTop Write SetGlyphTop Default 10;
Property HeaderPen: TPen Read FHeaderPen Write SetHeaderPen;
Property HighlightFont: TFont Read FHighlightFont Write SetHighlightFont;
Property Height: Integer Read FHeight Write SetHeight;
Property KeySupport: Boolean Read FKeySupport Write SetKeySupport Default True;
Property Layout: TmxGlyphLayout Read FLayout Write SetLayout Default glGlyphLeft;
Property LargeWidth: Integer Index 1 Read GetButtonSize Write SetButtonSize;
Property LargeHeight: Integer Index 2 Read GetButtonSize Write SetButtonSize;
Property PicLabDistance: Integer Read FPicLabDistance Write SetPicLabDistance;
Property StatusButton: TmxStatusButton Read FStatusButton Write SetStatusButton;
Property SmallHeight: Integer Index 3 Read GetButtonSize Write SetButtonSize;
Property XPColors: TmxXPColors Read FXPColors Write FXPColors;
Property OnChangeParameter: TNotifyEvent Read FOnChangeParameter Write FOnChangeParameter;
End;
// ************************************************************************
// ************************************************************************
// ************************************************************************
TmxHeader = Class( TCollectionItem )
Private
FFirstVisibleButton: Integer;
FLastVisibleButton: Integer;
FFirstButtonTop: Word;
FButtons: TmxButtons;
FBackground: TmxBackground;
FGlyph: TmxGlyph;
FBiDiMode: TBiDiMode;
FButtonImages: TmxButtonImages;
FButtonRect: TRect;
FBodyRect: TRect;
FCaption: String;
{$WARNINGS OFF}
FData: Pointer;
{$WARNINGS ON}
FEnabled: Boolean;
FHeaderOptions: TmxHeaderOptions;
FHeaderState: TmxHeaderState;
FImageIndex: TImageIndex;
FIndex: Integer;
FMargin: Word;
FName: String;
FPopupMenu: TPopupMenu;
FSpacing: Word;
FState: TmxButtonState;
FGradientRect: TRect;
FTextRect: TRect;
FTag: Longint;
FTransparent: Boolean;
FOriginalImage: TBitmap;
FSettings: TmxBarSettings;
FVisible: Boolean;
FParentBar: TmxOutlookBarPro;
FAllowSelected: Boolean;
FSelectedIndex: Integer;
FOnChange: TNotifyEvent;
FOnChangeParameter: TNotifyEvent;
FOnDrawStatusButton: TmxEventDrawStatusButton;
FOnDrawHeaderButton: TmxEventDrawHeader;
FOnDrawHeaderBody: TmxEventDrawHeader;
FOnAfterDrawHeaderButton: TmxEventDrawHeader;
FOnAfterDrawHeaderBody: TmxEventDrawHeader;
FOnCheckScroll: TmxEventCheckScroll;
Procedure SetEnabled( AValue: Boolean );
Procedure SetCaption( AValue: String );
Function GetHeaderIndex: Integer;
Procedure SetHeaderIndex( AValue: Integer );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -