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

📄 dxbarextitems.pas

📁 胜天进销存源码,国产优秀的进销存
💻 PAS
📖 第 1 页 / 共 5 页
字号:
    function GetInternalRect: TRect;
    function GetLeftArrowRect: TRect;
    function GetPainter: TdxBarPainter;
    function GetRightArrowRect: TRect;
    function GetMonthNameRect: TRect;
    function GetTodayButtonRect: TRect;
    function GetClearButtonRect: TRect;
    function GetShowButtonsArea: Boolean;
    procedure FreeTimer;
    procedure RepaintTodayButton;
    procedure RepaintClearButton;

    procedure WMDestroy(var Message: TMessage); message WM_DESTROY;
    procedure WMNCCalcSize(var Message: TWMNCCalcSize); message WM_NCCALCSIZE;
    procedure WMNCPaint(var Message: TWMNCPaint); message WM_NCPAINT;
    procedure WMSize(var Message: TWMSize); message WM_SIZE;
    procedure CMFontChanged(var Message: TMessage); message CM_FONTCHANGED;
  protected
    function GetStyle: TdxBarCalendarStyle; override;
    function GetRealFirstDate: TDateTime; override;
    function GetRealLastDate: TDateTime; override;
    function GetLastDate: TDateTime; override;
    procedure SetFirstDate(Value: TDateTime); override;
    procedure SetSelFinish(Value: TDateTime); override;
    procedure StepToPast;
    procedure StepToFuture;
    procedure CancelAll; override;
    procedure CheckFirstDate; override;
    procedure DeactivateAll;
    function PosToDateTime(P: TPoint): TDateTime; override;

    procedure CreateParams(var Params: TCreateParams); override;
    procedure CreateWnd; override;
    procedure DblClick; override;
    procedure KeyDown(var Key: Word; Shift: TShiftState); override;
    procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
      X, Y: Integer); override;
    procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
    procedure MouseUp(Button: TMouseButton; Shift: TShiftState;
      X, Y: Integer); override;
    procedure Paint; override;

    property ColCount: Integer read FColCount;
    property Painter: TdxBarPainter read GetPainter; 
    property RowCount: Integer read FRowCount;
    property ShowButtonsArea: Boolean read GetShowButtonsArea;
  public
    IsPopup: Boolean;
    ShowTodayButton, ShowClearButton: Boolean;
    constructor Create(AOwner: TComponent); override;
    procedure SetSize;
    function GetWidth: Integer;
    function GetHeight: Integer;
  end;

  TdxBarDateOnStart = (bdsToday, bdsNullDate, bdsCustom);

  TdxBarDateCombo = class(TCustomdxBarCombo)
  private
    FDateOnStart: TdxBarDateOnStart;
    FDatePopup, FDateNavigator: TdxBarDateNavigator;
    FDateEdit: TEdit;
    FForm: TForm;
    FInternalUpdate: Boolean;
    FMinDate: TDateTime;
    FMaxDate: TDateTime;
    FShowDayText: Boolean;
    FShowTodayButton: Boolean;
    FShowClearButton: Boolean;
    function GetCurDate: TDateTime;
    function GetDate: TDateTime;
    procedure SetCurDate(Value: TDateTime);
    procedure SetDate(Value: TDateTime);
    procedure DateChanged(Sender: TObject);
    procedure DialogClick(Sender: TObject);
    procedure DialogDateChanged(Sender: TObject);
    procedure DialogDateEditChange(Sender: TObject);
    function GetDateOfText(AText: string): TDateTime;
    function GetDateText(ADate: TDateTime): string;
    function IsMinDateStored: Boolean;
    function IsMaxDateStored: Boolean;
    function IsTextStored: Boolean;
    procedure SetDateOnStart(Value: TdxBarDateOnStart);
    procedure SetMinDate(Value: TDateTime);
    procedure SetMaxDate(Value: TDateTime);
    procedure SetShowDayText(Value: Boolean);
  protected
    procedure Loaded; override;
    procedure CheckDateOnStart;
    procedure CheckRange;
    function CheckKeyForDropDownWindow(Key: Word; Shift: TShiftState): Boolean; override;
    procedure CloseUp; override;
    procedure DropDown(X, Y: Integer); override;
    function GetDropDownWindow: HWND; override;
    procedure ResetDate;
    procedure SetText(Value: string); override;

    property DatePopup: TdxBarDateNavigator read FDatePopup;
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    function CheckDate(ADate: TDateTime): TDateTime; 
    procedure DoClick; override;

    property CurDate: TDateTime read GetCurDate write SetCurDate;
    property Date: TDateTime read GetDate write SetDate;
  published
    property DateOnStart: TdxBarDateOnStart read FDateOnStart write SetDateOnStart default bdsToday;
    property MaxDate: TDateTime read FMaxDate write SetMaxDate stored IsMaxDateStored;
    property MinDate: TDateTime read FMinDate write SetMinDate stored IsMinDateStored;
    property ShowTodayButton: Boolean read FShowTodayButton write FShowTodayButton default True;
    property ShowClearButton: Boolean read FShowClearButton write FShowClearButton default True;
    property ShowDayText: Boolean read FShowDayText write SetShowDayText default True;
    property Text stored IsTextStored;
  end;

  TdxBarDateComboControl = class(TCustomdxBarComboControl)
  private
    function GetDate: TDateTime;
    function GetItem: TdxBarDateCombo;
    procedure SetDate(const Value: TDateTime);
  protected
    procedure WndProc(var Message: TMessage); override;
    property Date: TDateTime read GetDate write SetDate;
  public
    property Item: TdxBarDateCombo read GetItem;
  end;

  TdxBarTreeViewCombo = class;

{$IFNDEF DELPHI6}

  TdxBarTreeNode = class(TTreeNode)
  public
    destructor Destroy; override;
  end;

{$ENDIF}  

  TdxBarTreeView = class(TCustomTreeView)
  private
    FCloseButtonRect, FGripRect: TRect;
    FCloseButtonIsTracking: Boolean;
    FCombo: TdxBarTreeViewCombo;
    FCorner: TdxCorner;
    FMouseAboveCloseButton: Boolean;
    function FindNode(const AText: string): TTreeNode;
    function GetPainter: TdxBarPainter;
    procedure SaveAndHide;
    procedure TVMSetImageList(var Message: TMessage); message TVM_SETIMAGELIST;
    procedure TVMSetItem(var Message: TMessage); message TVM_SETITEM;
    procedure WMCaptureChanged(var Message: TMessage); message WM_CAPTURECHANGED;
    procedure WMGetMinMaxInfo(var Message: TWMGetMinMaxInfo); message WM_GETMINMAXINFO;
    procedure WMLButtonUp(var Message: TWMLButtonUp); message WM_LBUTTONUP;
    procedure WMNCCalcSize(var Message: TWMNCCalcSize); message WM_NCCALCSIZE;
    procedure WMNCHitTest(var Message: TWMNCHitTest); message WM_NCHITTEST;
    procedure WMNCLButtonDown(var Message: TWMNCLButtonDown); message WM_NCLBUTTONDOWN;
    procedure WMNCPaint(var Message: TWMNCPaint); message WM_NCPAINT;
    procedure WMSysColorChange(var Message: TWMSysColorChange); message WM_SYSCOLORCHANGE;
    procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
    procedure CNNotify(var Message: TWMNotify); message CN_NOTIFY;
  protected
    procedure Change(Node: TTreeNode); override;
  {$IFNDEF DELPHI6}
    function CreateNode: TTreeNode; override;
  {$ENDIF}
    procedure CreateParams(var Params: TCreateParams); override;
    procedure CreateWnd; override;
    procedure DblClick; override;
    procedure KeyDown(var Key: Word; Shift: TShiftState); override;
    procedure MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
    property Painter: TdxBarPainter read GetPainter; 
  public
    IsPopup: Boolean;
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    procedure SetFocus; override;
    property Items;
    property OnDeletion;
    property Combo: TdxBarTreeViewCombo read FCombo;
  end;

  TdxBarTreeViewComboCanSelectNodeEvent = procedure(Sender: TdxBarTreeViewCombo;
    Node: TTreeNode; var CanSelect: Boolean) of object;

  TdxBarTreeViewCombo = class(TCustomdxBarCombo)
  private
    FAllowResizing: Boolean;
    FButtonOk, FButtonCancel: TButton;
    FChooseByDblClick: Boolean;
    FForm: TForm;
    FFormTreeView, FTreeView: TdxBarTreeView;
    FFullExpand: Boolean;
    FInSelectedNodeChanged: Boolean;
    FLoadedText: string;
    FSelectedNode: TTreeNode;
    FShowImageInEdit: Boolean;
    FOnCanSelectNode: TdxBarTreeViewComboCanSelectNodeEvent;

    function GetDropDownHeight: Integer;
    function GetDropDownWidth: Integer;
    function GetImages: TCustomImageList;
    function GetIndent: Integer;
    function GetItems: TTreeNodes;
    function GetShowButtons: Boolean;
    function GetShowLines: Boolean;
    function GetShowRoot: Boolean;
    function GetSortType: TSortType;
    function GetStateImages: TCustomImageList;
    function GetOnExpanded: TTVExpandedEvent;
    function GetOnExpanding: TTVExpandingEvent;
    function GetOnChanging: TTVChangingEvent;
    function GetOnCollapsed: TTVExpandedEvent;
    function GetOnCollapsing: TTVCollapsingEvent;
    function GetOnCompare: TTVCompareEvent;
    function GetOnGetImageIndex: TTVExpandedEvent;
    function GetOnGetSelectedIndex: TTVExpandedEvent;
    function GetOnTreeViewChange: TTVChangedEvent;

    procedure SetDropDownHeight(Value: Integer);
    procedure SetDropDownWidth(Value: Integer);
    procedure SetImages(Value: TCustomImageList);
    procedure SetIndent(Value: Integer);
    procedure SetItems(Value: TTreeNodes);
    procedure SetSelectedNode(Value: TTreeNode);
    procedure SetShowButtons(Value: Boolean);
    procedure SetShowImageInEdit(Value: Boolean);
    procedure SetShowLines(Value: Boolean);
    procedure SetShowRoot(Value: Boolean);
    procedure SetSortType(Value: TSortType);
    procedure SetStateImages(Value: TCustomImageList);
    procedure SetOnExpanded(Value: TTVExpandedEvent);
    procedure SetOnExpanding(Value: TTVExpandingEvent);
    procedure SetOnChanging(Value: TTVChangingEvent);
    procedure SetOnCollapsed(Value: TTVExpandedEvent);
    procedure SetOnCollapsing(Value: TTVCollapsingEvent);
    procedure SetOnCompare(Value: TTVCompareEvent);
    procedure SetOnGetImageIndex(Value: TTVExpandedEvent);
    procedure SetOnGetSelectedIndex(Value: TTVExpandedEvent);
    procedure SetOnTreeViewChange(Value: TTVChangedEvent);

    procedure FormSize(Sender: TObject);
  protected
    function CheckKeyForDropDownWindow(Key: Word; Shift: TShiftState): Boolean; override;
    function DoCanSelectNode: Boolean;
    procedure DoSelectedNodeChanged; virtual;
    procedure DrawInterior(ABarEditControl: TdxBarEditControl; ACanvas: TCanvas;
      R: TRect; ItemLink: TdxBarItemLink); override;
    procedure DropDown(X, Y: Integer); override;
    function GetDropDownWindow: HWND; override;
    function HasImageInEdit: Boolean;
    procedure Loaded; override;
    procedure Notification(AComponent: TComponent; Operation: TOperation); override;
    procedure SetText(Value: string); override;
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    procedure DoClick; override;

    property SelectedNode: TTreeNode read FSelectedNode write SetSelectedNode;
    property TreeView: TdxBarTreeView read FTreeView;
  published
    property AllowResizing: Boolean read FAllowResizing write FAllowResizing default True;
    property ChooseByDblClick: Boolean read FChooseByDblClick write FChooseByDblClick default True;
    property DropDownHeight: Integer read GetDropDownHeight write SetDropDownHeight default 200;
    property DropDownWidth: Integer read GetDropDownWidth write SetDropDownWidth default 150;
    property FullExpand: Boolean read FFullExpand write FFullExpand default False;
    property Images: TCustomImageList read GetImages write SetImages;
    property Indent: Integer read GetIndent write SetIndent;
    property Items: TTreeNodes read GetItems write SetItems;
    property ShowButtons: Boolean read GetShowButtons write SetShowButtons;
    property ShowEditor default False;
    property ShowImageInEdit: Boolean read FShowImageInEdit write SetShowImageInEdit
      default True;
    property ShowLines: Boolean read GetShowLines write SetShowLines;
    property ShowRoot: Boolean read GetShowRoot write SetShowRoot;
    property SortType: TSortType read GetSortType write SetSortType;
    property StateImages: TCustomImageList
      read GetStateImages write SetStateImages;

    property OnExpanded: TTVExpandedEvent read GetOnExpanded write SetOnExpanded;
    property OnExpanding: TTVExpandingEvent read GetOnExpanding write SetOnExpanding;
    property OnCanSelectNode: TdxBarTreeViewComboCanSelectNodeEvent read FOnCanSelectNode
      write FOnCanSelectNode;
    property OnChanging: TTVChangingEvent read GetOnChanging write SetOnChanging;
    property OnCollapsed: TTVExpandedEvent read GetOnCollapsed write SetOnCollapsed;
    property OnCollapsing: TTVCollapsingEvent read GetOnCollapsing write SetOnCollapsing;
    property OnCompare: TTVCompareEvent read GetOnCompare write SetOnCompare;
    property OnGetImageIndex: TTVExpandedEvent read GetOnGetImageIndex write SetOnGetImageIndex;
    property OnGetSelectedIndex: TTVExpandedEvent read GetOnGetSelectedIndex write SetOnGetSelectedIndex;
    property OnTreeViewChange: TTVChangedEvent read GetOnTreeViewChange write SetOnTreeViewChange;
  end;

  TdxBarTreeViewComboControl = class(TCustomdxBarComboControl)
  private
    function GetItem: TdxBarTreeViewCombo;
  protected
    function GetDefaultHeight: Integer; override;
    procedure SetFocused(Value: Boolean); override;
  public
    property Item: TdxBarTreeViewCombo read GetItem;
  end;

  TdxBarImageCombo = class(TdxBarCustomCombo)
  private
    FDialogListBox: TListBox;
    FForm: TForm;
    FImageChangeLink: TChangeLink;
    FImages: TCustomImageList;
    FShowText: Boolean;

    function GetImageIndexes(Index: Integer): Integer;
    procedure SetImageIndexes(Index: Integer; Value: Integer);
    procedure SetImages(Value: TCustomImageList);
    procedure SetShowText(Value: Boolean);
    procedure ImageListChange(Sender: TObject);
    procedure ReadImageIndexes(Reader: TReader);
    procedure WriteImageIndexes(Writer: TWriter);

    procedure DialogListBoxDblClick(Sender: TObject);
    procedure DialogListBoxDrawItem(Control: TWinControl; Index: Integer;
      Rect: TRect; State: TOwnerDrawState);
    procedure DialogListBoxMeasureItem(Control: TWinControl; Index: Integer;
      var Height: Integer);
  protected
    procedure DefineProperties(Filer: TFiler); override;
    procedure DrawItem(APainter: TdxBarPainter; AIndex: Integer; ARect: TRect;
      AState: TOwnerDrawState); override;
    procedure ImagesChanged; virtual;
    procedure MeasureItem(AIndex: Integer; var AHeight: Integer); override;
    procedure MeasureItemWidth(AIndex: Integer; var AWidth: Integer); override;
    procedure Notification(AComponent: TComponent; Operation: TOperation); override;
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    procedure DoClick; override;
    property ImageIndexes[Index: Integer]: Integer read GetImageIndexes write SetImageIndexes;
  published
    property Images: TCustomImageList read FImages write SetImages;
    property Items;
    property ShowEditor default False;
    property Sorted;
    property ItemIndex;  // loading after all
    property ShowText: Boolean read FShowText write SetShowText default True;
  end;

  TdxBarImageComboControl = class(TdxBarComboControl)
  protected
    function GetDefaultHeight: Integer; override;
    procedure ImagesChanged; virtual;
  end;

  TdxBarToolbarsListItem = class(TCustomdxBarSubItem)
  protected
    function InternalCanMergeWith(AItem: TdxBarItem): Boolean; override;
  end;

  TdxBarToolbarsListItemControl = class(TdxBarSubItemControl)
  protected
    procedure CreateSubMenuControl; override;
  end;

  TdxBarSpinEdit = class;
  TdxBarSpinEditValueType = (svtInteger, svtFloat);
  TdxBarSpinEditPrefixPlace = (ppStart, ppEnd);
  TdxBarSpinEditButtonClickEvent = procedure(Sender: TdxBarSpinEdit;
    Button: TdxBarSpinEditButton) of object;

  TdxBarSpinEdit = class(TdxBarEdit)
  private
    FIncrement: Extended;
    FMaxValue: Extended;
    FMinValue: Extended;
    FPrefix: string;
    FPrefixPlace: TdxBarSpinEditPrefixPlace;
    FValueType: TdxBarSpinEditValueType;
    FOnButtonClick: TdxBarSpinEditButtonClickEvent;

⌨️ 快捷键说明

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