⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mxoutlookbarpro.pas

📁 医院信息系统 方法一: 1.运行SQL Server 2000的查询分析器
💻 PAS
📖 第 1 页 / 共 5 页
字号:
    Procedure SetChangeParameter( AValue: TNotifyEvent );
    Procedure SetVisible( AValue: Boolean );
    Procedure SetTransparent( AValue: Boolean );
    Procedure SetHeaderOptions( AValue: TmxHeaderOptions );
    Procedure SetImageIndex( AValue: TImageIndex );
    Procedure SetMargin( AValue: Word );
    Procedure SetSpacing( AValue: Word );
    Procedure SetBiDiMode( AValue: TBiDiMode ); Virtual;
    Function UseRightToLeftAlignment: Boolean; Dynamic;
    Function UseRightToLeftReading: Boolean;
    Function DrawTextBiDiModeFlagsReadingOnly: Longint;
    Procedure SetHeaderImage;
    Function GetHeaderImageList: TCustomImageList;
{$WARNINGS OFF}
    Procedure SetData( AValue: Pointer );
{$WARNINGS ON}
    Function GetBodyRect: TRect;
    Procedure ChangeParameter;
    Procedure SetHeaderState( AValue: TmxHeaderState );
    Function GetParentBar: TmxOutlookBarPro;
    Function GetEnabled: Boolean;
    Function GetOpened: Boolean;
    Procedure SetOpened( AValue: Boolean );
    Procedure SetButtons( AValue: TmxButtons );
    Function GetButtons: TmxButtons;
    Function GetButton( Index: Integer ): TmxButton;
    Function GetButtonCount: Integer;
    Function GetVisibleButtonCount: Integer;
    Function GetEnabledButtonCount: Integer;
    Procedure SetFirstButtonTop( AValue: Word );
    Procedure SetAllowSelected( AValue: Boolean );
    Procedure SetSelectedIndex( AValue: Integer );

    Procedure DoButtonScrollUp;
    Procedure DoButtonScrollDown;

    Function IsUpButtonNeed: Boolean;
    Function IsDownButtonNeed: Boolean;

    Function GetFirstVisibleButton: TmxButton;
    Function GetLastVisibleButton: TmxButton;

    Function HasAlertedButton: Boolean;
    Procedure SetState( AState: TmxButtonState );

    Procedure SetRadioButton( AButton: TmxButton );

  Protected

    Function GetDisplayName: String; Override;
    Procedure SetDisplayName( Const AValue: String ); Override;

    Procedure Change; Dynamic;

    Function DrawTextBiDiModeFlags( Flags: Longint ): Longint;
    Function GetSettings: TmxBarSettings;
    Function GetHeight: Integer;
    Function GetExplorerAddon: Integer;

    Procedure CalcHeaderLayout( Canvas: TCanvas; Client: TRect; Const Offset: TPoint; Const Caption: String; Alignment: TAlignment; Layout: TmxGlyphLayout; Margin, Spacing: Word; Var GlyphPos: TPoint; Var TextBounds, StatusRect: TRect; BiDiFlags: Longint ); Virtual;
    Procedure DrawHeaderGlyph( Canvas: TCanvas; Const GlyphPos: TPoint; State: TmxButtonState; Transparent: Boolean ); Virtual;
    Procedure DrawHeaderText( Canvas: TCanvas; Const Caption: String; TextBounds: TRect; State: TmxButtonState; BiDiFlags: Longint ); Virtual;
    Function DrawHeaderFace( Canvas: TCanvas; Const Client: TRect; Const Offset: TPoint; Const Caption: String; Alignment: TAlignment; Layout: TmxGlyphLayout; Margin, Spacing: Word; State: TmxButtonState; Transparent: Boolean; BiDiFlags: LongInt ): TRect; Virtual;
    Procedure DrawStatusButton( Canvas: TCanvas; Const Client: TRect );
    Procedure DrawHeaderButtons( DrawBitmap: TBitmap; Const ARect: TRect ); Virtual;

    Procedure DoAfterDrawHeaderBody( ACanvas: TCanvas; ARect: TRect ); Virtual;
    Procedure DoAfterDrawHeaderButton( ACanvas: TCanvas; ARect: TRect ); Virtual;

    Function CalculateBodyHeight( ARect: TRect ): Integer; Virtual;

  Public

    Property IsEnabled: Boolean Read GetEnabled; // *** Checks it from the parent ***
    Property ButtonRect: TRect Read FButtonRect;
    Property BodyRect: TRect Read GetBodyRect;
{$WARNINGS OFF}
    Property Data: Pointer Read FData Write SetData;
{$WARNINGS ON}
    Property ParentBar: TmxOutlookBarPro Read GetParentBar;

    Property ButtonCount: Integer Read GetButtonCount;
    Property VisibleHeaderCount: Integer Read GetVisibleButtonCount;
    Property EnabledHeaderCount: Integer Read GetEnabledButtonCount;

    Function CreateButton: Longint;
    Function AddButton: TmxButton;
    Procedure RemoveButton( AButton: TmxButton );
    Procedure DeleteButton( AButtonIndex: Integer );
    Procedure ClearButtons;

    Property Button[ Index: Integer ]: TmxButton Read GetButton;
    Function ButtonByIndex( Index: Integer ): TmxButton;
    Function ButtonByName( Name: String ): TmxButton;
    Function ButtonIndexByName( Name: String ): Integer;

    Constructor Create( ACollection: TCollection ); Override;
    Destructor Destroy; Override;

    Procedure BeginUpdate; Virtual;
    Procedure EndUpdate; Virtual;

    Procedure Assign( Source: TPersistent ); Override;
    Procedure AssignTo( Destination: TPersistent ); Override;

    Procedure DrawHeaderButton( DrawBitmap: TBitmap; Var ARect: TRect; ActiveIndex: Integer );
    Procedure DrawHeaderBody( DrawBitmap: TBitmap; Var ARect: TRect; ActiveIndex, ScrollOffset: Integer );

    Procedure RenameButton( AButton: TmxButton );
    Procedure RenameButtonByIndex( AButtonIndex: Integer );

  Published

    Property AllowSelected: Boolean Read FAllowSelected Write SetAllowSelected Default False;
    Property Background: TmxBackground Read FBackground Write FBackground;
    Property Glyph: TmxGlyph Read FGlyph Write FGlyph;
    Property Images: TmxButtonImages Read FButtonImages Write FButtonImages;
    Property Buttons: TmxButtons Read GetButtons Write SetButtons;
    Property BiDiMode: TBiDiMode Read FBiDiMode Write SetBiDiMode;
    Property Caption: String Read FCaption Write SetCaption;
    Property Enabled: Boolean Read FEnabled Write SetEnabled Default True;
    Property FirstButtonTop: Word Read FFirstButtonTop Write SetFirstButtonTop;
    Property HeaderIndex: Integer Read GetHeaderIndex Write SetHeaderIndex Default -1;
    Property HeaderState: TmxHeaderState Read FHeaderState Write SetHeaderState Default hsOpened;
    Property Settings: TmxBarSettings Read FSettings Write FSettings;
    Property ImageIndex: TImageIndex Read FImageIndex Write SetImageIndex Default -1;
    Property Margin: Word Read FMargin Write SetMargin Default 4;
    Property Name: String Read GetDisplayName Write SetDisplayName;
    Property Options: TmxHeaderOptions Read FHeaderOptions Write SetHeaderOptions;
    Property Opened: Boolean Read GetOpened Write SetOpened;
    Property PopupMenu: TPopupMenu Read FPopupMenu Write FPopupMenu;
    Property Tag: Longint Read FTag Write FTag Default 0;
    Property Transparent: Boolean Read FTransparent Write SetTransparent Default False;
    Property SelectedIndex: Integer Read FSelectedIndex Write SetSelectedIndex Default -1;
    Property Spacing: Word Read FSpacing Write SetSpacing Default 2;
    Property Visible: Boolean Read FVisible Write SetVisible Default True;

    Property OnChange: TNotifyEvent Read FOnChange Write FOnChange;
    Property OnChangeParameter: TNotifyEvent Read FOnChangeParameter Write SetChangeParameter;
    Property OnCheckScroll: TmxEventCheckScroll Read FOnCheckScroll Write FOnCheckScroll;
    Property OnDrawHeaderButton: TmxEventDrawHeader Read FOnDrawHeaderButton Write FOnDrawHeaderButton;
    Property OnDrawStatusButton: TmxEventDrawStatusButton Read FOnDrawStatusButton Write FOnDrawStatusButton;
    Property OnDrawHeaderBody: TmxEventDrawHeader Read FOnDrawHeaderBody Write FOnDrawHeaderBody;
    Property OnAfterDrawHeaderButton: TmxEventDrawHeader Read FOnAfterDrawHeaderButton Write FOnAfterDrawHeaderButton;
    Property OnAfterDrawHeaderBody: TmxEventDrawHeader Read FOnAfterDrawHeaderBody Write FOnAfterDrawHeaderBody;

  End;

// ************************************************************************
// ************************************************************************
// ************************************************************************

  TmxHeaders = Class( TCollection )
  Private

    FOutlookBarPro: TmxOutlookBarPro;

    Function GetHeaderItem( Index: Integer ): TmxHeader;
    Procedure SetHeaderItem( Index: Integer; AValue: TmxHeader );

  Protected

    Function GetAttrCount: Integer; Override;
    Function GetAttr( Index: Integer ): String; Override;
    Function GetItemAttr( Index, ItemIndex: Integer ): String; Override;
    Procedure SetItemName( Item: TCollectionItem ); Override;
    Procedure Update( Item: TCollectionItem ); Override;
    Function GetOwner: TPersistent; Override;

  Public

    Constructor Create( AOutlookBarPro: TmxOutlookBarPro; ItemClass: TCollectionItemClass );

    Function Add: TmxHeader;
    Property OutlookBarPro: TmxOutlookBarPro Read FOutlookBarPro;
    Property Headers[ Index: Integer ]: TmxHeader Read GetHeaderItem Write SetHeaderItem; Default;

  End;

// ************************************************************************
// ************************************************************************
// ************************************************************************

  TmxCloseButton = Class( TPersistent )
  Private

    FCloseHeader: TmxHeader;
    FCloseRect: TRect;
    FCloseState: TmxButtonState;

    FOnClose: TNotifyEvent;

    Procedure SetVisible( AValue: Boolean );
    Function GetVisible: Boolean;
    Procedure SetTransparent( AValue: Boolean );
    Function GetTransparent: Boolean;
    Procedure SetCaption( AValue: String );
    Function GetCaption: String;
    Procedure SetFont( AValue: TFont );
    Function GetFont: TFont;
    Procedure SetHeight( AValue: Integer );
    Function GetHeight: Integer;
    Function GetMargin: Word;
    Procedure SetMargin( AValue: Word );
    Function GetImageIndex: Integer;
    Procedure SetImageIndex( AValue: Integer );

  Public

    Property CloseRect: TRect Read FCloseRect;
    Property CloseState: TmxButtonState Read FCloseState;
    Property CloseHeader: TmxHeader Read FCloseHeader;

    Constructor Create( AOwner: TmxOutlookBarPro ); Virtual;
    Destructor Destroy; Override;

    Procedure Assign( Source: TPersistent ); Override;
    Procedure AssignTo( Destination: TPersistent ); Override;

  Published

    Property Caption: String Read GetCaption Write SetCaption;
    Property Font: TFont Read GetFont Write SetFont;
    Property Height: Integer Read GetHeight Write SetHeight;
    Property ImageIndex: Integer Read GetImageIndex Write SetImageIndex;
    Property Margin: Word Read GetMargin Write SetMargin;
    Property Transparent: Boolean Read GetTransparent Write SetTransparent;
    Property Visible: Boolean Read GetVisible Write SetVisible Default False;

    Property OnClose: TNotifyEvent Read FOnClose Write FOnClose;
  End;

// ************************************************************************
// ************************************************************************
// ************************************************************************

  TmxButton = Class( TCollectionItem )
  Private

    FAllowGrayed: Boolean;
    FPaintGrayed: Boolean;
    FChecked: Boolean;
    FMargin: Integer;
    FButtonKind: TmxButtonKind;
    FFlashing: Boolean;
    FAlerted: Boolean;
    FAutoSize: Boolean;
    FAlignment: TAlignment;
    FActionLink: TControlActionLink;
    FButtonStyle: TmxButtonStyle;
    FButtonView: TmxButtonView;
    FButtonRect: TRect;
    FCheckBoxRect: TRect;
    FBiDiMode: TBiDiMode;
    FImageRect: TRect;
    FFocusRect: TRect;
    FLabelRect: TRect;
    FDragDropHitStatus: TmxHitPosition;
    FCaption: String;
    FCursor: TCursor;
    FColor: TColor;
{$WARNINGS OFF}
    FData: Pointer;
{$WARNINGS ON}
    FEnabled: Boolean;
    FFont: TFont;
    FHighlightFont: TFont;
    FHelpContext: THelpContext;
    FHeight: Word;
    FHint: String;
    FImageList: TCustomImageList;
    FImageIndex: TImageIndex;
    FName: String;
    FParentBiDiMode: Boolean;
    FShowAccelChar: Boolean;
    FTag: Longint;
    FTransparent: Boolean;
    FState: TmxButtonState;
    FOptions: TmxButtonOptions;
    FUserString: String;
    FVisible: Boolean;
    FWidth: Word;
    FWordWrap: Boolean;
    FPopupMenu: TPopupMenu;
    FCheckState: TCheckBoxState;

    FOnClick: TNotifyEvent;
    FOnBeforeDrawButton: TmxEventBeforeDrawCommandButton;
    FOnDrawButton: TmxEventDrawCommandButton;
    FOnAfterDrawButton: TmxEventAfterDrawCommandButton;
    FOnChangeParameter: TNotifyEvent;

    Procedure SetChangeParameter( AValue: TNotifyEvent );
    Property OnChangeParameter: TNotifyEvent Read FOnChangeParameter Write SetChangeParameter;

    Procedure SetTransparent( AValue: Boolean );
    Procedure SetHint( AValue: String );
    Procedure SetHelpContext( AValue: THelpContext );
    Procedure SetImageIndex( AValue: TImageIndex );
    Procedure SetEnabled( AValue: Boolean );
    Procedure SetVisible( AValue: Boolean );
{$WARNINGS OFF}
    Procedure SetData( AValue: Pointer );
{$WARNINGS ON}
    Function GetAction: TBasicAction;
    Procedure SetAction( AValue: TBasicAction );
    Procedure SetCaption( AValue: String );
    Procedure DoActionChange( Sender: TObject );
    Procedure ChangeParameter;
    Function GetButtonIndex: Integer;
    Procedure SetButtonIndex( AValue: Integer );
    Procedure SetButtonStyle( AValue: TmxButtonStyle );
    Procedure SetButtonView( AValue: TmxButtonView );
    Procedure SetAutoSize( AValue: Boolean );
    Procedure SetColor( AValue: TColor );
    Procedure SetFont( AValue: TFont );
    Procedure SetHighlightFont( AValue: TFont );
    Procedure SetHeight( AValue: Word );
    Procedure SetWidth( AValue: Word );
    Procedure SetOptions( AValue: TmxButtonOptions );
    Procedure SetWordWrap( AValue: Boolean );
    Procedure SetAlignment( AValue: TAlignment );
    Procedure SetBiDiMode( AValue: TBiDiMode ); Virtual;
    Procedure SetShowAccelChar( AValue: Boolean );
    Procedure SetParentBiDiMode( AValue: Boolean ); Virtual;
    Procedure SetButtonKind( AValue: TmxButtonKind );
    Procedure SetMargin( AValue: Integer );
    Procedure SetCheckState( AValue: TCheckBoxState );
    Procedure SetChecked( AValue: Boolean );

    Function GetButtonImageList: TCustomImageList;
    Function GetSettings: TmxBarSettings;
    Function GetStyle: TmxButtonStyle;
    Function GetView: TmxButtonView;
    Procedure CalculateButtonRect( Var ButtonRect: TRect; Var ImageRect: TRect; Var FocusRect: TRect; Var LabelRect: TRect );
    Function CalculateImagePositon( ButtonRect: TRect ): TRect;
    Function CalculateSmallImagePositon( ButtonRect: TRect ): TRect;

    Function GetFont( FocusEnabled: Boolean ): TFont;
    Function IsBiDiModeStored: Boolean;
    Procedure DoClick; Virtual;
    Function GetHeaderIndex: Integer;
    Function GetHeader: TmxHeader;
    Function IsTheFirstButton: Boolean;
    Function IsTheLastButton: Boolean;

  Protected

    Property ActionLink: TControlActionLink Read FActionLink Write FActionLink;

    Function GetDisplayName: String; Override;

⌨️ 快捷键说明

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