cxlookandfeelpainters.pas
来自「胜天进销存源码,国产优秀的进销存」· PAS 代码 · 共 1,181 行 · 第 1/5 页
PAS
1,181 行
class function LookAndFeelStyle: TcxLookAndFeelStyle; override;
// border
class function BorderSize: Integer; override;
class procedure DrawBorder(ACanvas: TcxCanvas; R: TRect); override;
// buttons
class function ButtonBorderSize(AState: TcxButtonState = cxbsNormal): Integer; override;
class function ButtonTextOffset: Integer; override;
class function ButtonTextShift: Integer; override;
class procedure DrawButtonBorder(ACanvas: TcxCanvas; R: TRect; AState: TcxButtonState); override;
class procedure DrawExpandButton(ACanvas: TcxCanvas; const R: TRect; AExpanded: Boolean; AColor: TColor = clDefault); override;
class function ExpandButtonSize: Integer; override;
class function IsButtonHotTrack: Boolean; override;
// checkbox
class procedure DrawCheckBorder(ACanvas: TcxCanvas; R: TRect; AState: TcxButtonState); override;
// header
class procedure DrawHeaderBorder(ACanvas: TcxCanvas; const R: TRect; ANeighbors: TcxNeighbors; ABorders: TcxBorders); override;
class procedure DrawHeaderControlSectionBorder(ACanvas: TcxCanvas; const R: TRect;
ABorders: TcxBorders; AState: TcxButtonState); override;
class procedure DrawSortingMark(ACanvas: TcxCanvas; const R: TRect; AAscendingSorting: Boolean); override;
class function HeaderBorderSize: Integer; override;
class function SortingMarkSize: TPoint; override;
// footer
class function FooterBorderSize: Integer; override;
class function FooterCellBorderSize: Integer; override;
class function FooterCellOffset: Integer; override;
class procedure DrawFooterBorder(ACanvas: TcxCanvas; const R: TRect); override;
class procedure DrawFooterCellBorder(ACanvas: TcxCanvas; const R: TRect); override;
// filter
class procedure DrawFilterDropDownButton(ACanvas: TcxCanvas; R: TRect; AState: TcxButtonState; AIsFilterActive: Boolean); override;
// tabs
class procedure DrawTabBorder(ACanvas: TcxCanvas; R: TRect; ABorder: TcxBorder; ABorders: TcxBorders; AVertical: Boolean); override;
class procedure DrawTabsRoot(ACanvas: TcxCanvas; const R: TRect; ABorders: TcxBorders; AVertical: Boolean); override;
class function TabBorderSize(AVertical: Boolean): Integer; override;
// scrollbars
class procedure DrawScrollBarPart(ACanvas: TcxCanvas; AHorizontal: Boolean;
R: TRect; APart: TcxScrollBarPart; AState: TcxButtonState); override;
// ms outlook
class procedure DrawSchedulerSplitterBorder(ACanvas: TcxCanvas; R: TRect; const AViewParams: TcxViewParams; AIsHorizontal: Boolean); override;
end;
TcxUltraFlatLookAndFeelPainter = class(TcxCustomLookAndFeelPainter)
protected
// filter
class function FilterDropDownButtonBorderColor(AState: TcxButtonState): TColor; virtual;
// Scheduler
class procedure DrawSchedulerNavigationButtonContent(ACanvas: TcxCanvas;
const ARect: TRect; const AArrowRect: TRect; AIsNextButton: Boolean;
AState: TcxButtonState); override;
// tabs
class function TabBorderHighlightColor: TColor; virtual;
class function TabBorderDarkColor: TColor; virtual;
public
class function LookAndFeelStyle: TcxLookAndFeelStyle; override;
// default
class function DefaultSchedulerBorderColor: TColor; override;
// border
class function BorderHighlightColor: TColor; virtual;
class function BorderSize: Integer; override;
class procedure DrawBorder(ACanvas: TcxCanvas; R: TRect); override;
// buttons
class function ButtonBorderSize(AState: TcxButtonState = cxbsNormal): Integer; override;
class function ButtonColor(AState: TcxButtonState): TColor; override;
class function ButtonFocusRect(ACanvas: TcxCanvas; R: TRect): TRect; override;
class function ButtonGroupBorderSizes(AButtonCount, AButtonIndex: Integer): TRect; override;
class function ButtonSymbolColor(AState: TcxButtonState;
ADefaultColor: TColor = clDefault): TColor; override;
class function ButtonSymbolState(AState: TcxButtonState): TcxButtonState; override;
class function ButtonTextOffset: Integer; override;
class function ButtonTextShift: Integer; override;
class procedure DrawButtonBorder(ACanvas: TcxCanvas; R: TRect; AState: TcxButtonState); override;
class procedure DrawButtonInGroup(ACanvas: TcxCanvas; R: TRect;
AState: TcxButtonState; AButtonCount, AButtonIndex: Integer;
ABackgroundColor: TColor); override;
class procedure DrawButtonGroupBorder(ACanvas: TcxCanvas; R: TRect; AInplace, ASelected: Boolean); override;
class procedure DrawExpandButton(ACanvas: TcxCanvas; const R: TRect; AExpanded: Boolean; AColor: TColor = clDefault); override;
class procedure DrawHeaderControlSectionBorder(ACanvas: TcxCanvas; const R: TRect;
ABorders: TcxBorders; AState: TcxButtonState); override;
class procedure DrawHeaderControlSectionContent(ACanvas: TcxCanvas; const ABounds,
ATextAreaBounds: TRect; AState: TcxButtonState; AAlignmentHorz: TAlignment;
AAlignmentVert: TcxAlignmentVert; AMultiLine, AShowEndEllipsis: Boolean;
const AText: string; AFont: TFont; ATextColor, ABkColor: TColor); override;
class function ExpandButtonSize: Integer; override;
class function IsButtonHotTrack: Boolean; override;
// checkbox
class procedure DrawCheckBorder(ACanvas: TcxCanvas; R: TRect; AState: TcxButtonState); override;
// header
class procedure DrawHeaderBorder(ACanvas: TcxCanvas; const R: TRect; ANeighbors: TcxNeighbors; ABorders: TcxBorders); override;
class procedure DrawHeaderEx(ACanvas: TcxCanvas; const ABounds, ATextAreaBounds: TRect;
ANeighbors: TcxNeighbors; ABorders: TcxBorders; AState: TcxButtonState;
AAlignmentHorz: TAlignment; AAlignmentVert: TcxAlignmentVert; AMultiLine, AShowEndEllipsis: Boolean;
const AText: string; AFont: TFont; ATextColor, ABkColor: TColor;
AOnDrawBackground: TcxDrawBackgroundEvent = nil); override;
class procedure DrawSortingMark(ACanvas: TcxCanvas; const R: TRect; AAscendingSorting: Boolean); override;
class function HeaderBorders(ANeighbors: TcxNeighbors): TcxBorders; override;
class function HeaderBorderSize: Integer; override;
class function SortingMarkSize: TPoint; override;
// footer
class procedure DrawFooterBorder(ACanvas: TcxCanvas; const R: TRect); override;
class procedure DrawFooterCellBorder(ACanvas: TcxCanvas; const R: TRect); override;
class function FooterBorders: TcxBorders; override;
class function FooterBorderSize: Integer; override;
class function FooterCellBorderSize: Integer; override;
class function FooterCellOffset: Integer; override;
// filter
class procedure DrawFilterDropDownButton(ACanvas: TcxCanvas; R: TRect; AState: TcxButtonState; AIsFilterActive: Boolean); override;
class function FilterCloseButtonSize: TPoint; override;
// tabs
class procedure DrawTabBorder(ACanvas: TcxCanvas; R: TRect; ABorder: TcxBorder; ABorders: TcxBorders; AVertical: Boolean); override;
class procedure DrawTabsRoot(ACanvas: TcxCanvas; const R: TRect; ABorders: TcxBorders; AVertical: Boolean); override;
class function TabBorderSize(AVertical: Boolean): Integer; override;
// scrollbars
class procedure DrawScrollBarPart(ACanvas: TcxCanvas; AHorizontal: Boolean;
R: TRect; APart: TcxScrollBarPart; AState: TcxButtonState); override;
// ms outlook
class procedure DrawSchedulerNavigatorButton(ACanvas: TcxCanvas; R: TRect; AState: TcxButtonState); override;
class procedure DrawSchedulerSplitterBorder(ACanvas: TcxCanvas; R: TRect; const AViewParams: TcxViewParams; AIsHorizontal: Boolean); override;
end;
TcxOffice11LookAndFeelPainter = class(TcxUltraFlatLookAndFeelPainter)
protected
class procedure DrawContent(ACanvas: TcxCanvas; const ABounds, ATextAreaBounds: TRect; AState: Integer;
AAlignmentHorz: TAlignment; AAlignmentVert: TcxAlignmentVert; AMultiLine, AShowEndEllipsis: Boolean;
const AText: string; AFont: TFont; ATextColor, ABkColor: TColor;
AOnDrawBackground: TcxDrawBackgroundEvent = nil; AIsFooter: Boolean = False); override;
class function HeaderBottomColor: TColor; virtual;
class function HeaderDarkEdgeColor: TColor; virtual;
class function HeaderHighlightEdgeColor: TColor; virtual;
class function HeaderTopColor: TColor; virtual;
// filter
class function FilterDropDownButtonBorderColor(AState: TcxButtonState): TColor; override;
// tabs
class function TabBorderHighlightColor: TColor; override;
class function TabBorderDarkColor: TColor; override;
// scheduler3
class procedure DrawSchedulerNavigationButtonContent(ACanvas: TcxCanvas;
const ARect: TRect; const AArrowRect: TRect; AIsNextButton: Boolean;
AState: TcxButtonState); override;
public
class function LookAndFeelStyle: TcxLookAndFeelStyle; override;
// colors
class function DefaultDateNavigatorHeaderColor: TColor; override;
class function DefaultDateNavigatorSelectionColor: TColor; override;
class function DefaultDateNavigatorSelectionTextColor: TColor; override;
class function DefaultFilterBoxColor: TColor; override;
class function DefaultFilterBoxTextColor: TColor; override;
class function DefaultFooterColor: TColor; override;
class function DefaultFooterTextColor: TColor; override;
class function DefaultGroupColor: TColor; override;
class function DefaultGroupByBoxColor: TColor; override;
class function DefaultGroupByBoxTextColor: TColor; override;
class function DefaultHeaderColor: TColor; override;
class function DefaultHeaderBackgroundColor: TColor; override;
class function DefaultSchedulerBorderColor: TColor; override;
class function DefaultSchedulerControlColor: TColor; override;
class function DefaultTabColor: TColor; override;
class function DefaultTabsBackgroundColor: TColor; override;
class function DefaultTimeGridMinorScaleColor: TColor; override;
class function DefaultTimeGridSelectionBarColor: TColor; override;
// border
class function BorderHighlightColor: TColor; override;
class procedure DrawBorder(ACanvas: TcxCanvas; R: TRect); override;
// buttons
class function ButtonColor(AState: TcxButtonState): TColor; override;
class function ButtonSymbolColor(AState: TcxButtonState;
ADefaultColor: TColor = clDefault): TColor; override;
class procedure DrawButtonBorder(ACanvas: TcxCanvas; R: TRect; AState: TcxButtonState); override;
class procedure DrawExpandButton(ACanvas: TcxCanvas; const R: TRect; AExpanded: Boolean;
AColor: TColor = clDefault); override;
class function DrawExpandButtonFirst: Boolean; override;
class procedure DrawSmallExpandButton(ACanvas: TcxCanvas; R: TRect; AExpanded: Boolean;
ABorderColor: TColor; AColor: TColor = clDefault); override;
class function ExpandButtonSize: Integer; override;
class function SmallExpandButtonSize: Integer; override;
// checkbox
class function CheckButtonColor(AState: TcxButtonState): TColor; override;
// filter
class procedure DrawFilterDropDownButton(ACanvas: TcxCanvas;
R: TRect; AState: TcxButtonState; AIsFilterActive: Boolean); override;
// header
class procedure DrawHeader(ACanvas: TcxCanvas; const ABounds, ATextAreaBounds: TRect;
ANeighbors: TcxNeighbors; ABorders: TcxBorders; AState: TcxButtonState;
AAlignmentHorz: TAlignment; AAlignmentVert: TcxAlignmentVert; AMultiLine, AShowEndEllipsis: Boolean;
const AText: string; AFont: TFont; ATextColor, ABkColor: TColor;
AOnDrawBackground: TcxDrawBackgroundEvent = nil; AIsLast: Boolean = False;
AInGroupByBox: Boolean = False); override;
class procedure DrawHeaderBorder(ACanvas: TcxCanvas; const R: TRect; ANeighbors: TcxNeighbors; ABorders: TcxBorders); override;
class procedure DrawHeaderControlSection(ACanvas: TcxCanvas; const ABounds, ATextAreaBounds: TRect;
ANeighbors: TcxNeighbors; ABorders: TcxBorders; AState: TcxButtonState;
AAlignmentHorz: TAlignment; AAlignmentVert: TcxAlignmentVert; AMultiLine,
AShowEndEllipsis: Boolean; const AText: string; AFont: TFont; ATextColor,
ABkColor: TColor); override;
class procedure DrawSortingMark(ACanvas: TcxCanvas; const R: TRect; AAscendingSorting: Boolean); override;
class function HeaderBorders(ANeighbors: TcxNeighbors): TcxBorders; override;
class function HeaderBorderSize: Integer; override;
class function IsHeaderHotTrack: Boolean; override;
// footer
class function FooterSeparatorColor: TColor; override;
// tabs
// scrollbars
class procedure DrawScrollBarPart(ACanvas: TcxCanvas; AHorizontal: Boolean;
R: TRect; APart: TcxScrollBarPart; AState: TcxButtonState); override;
// ms outlook
class procedure DrawMonthHeader(ACanvas: TcxCanvas; const ABounds: TRect;
const AText: string; ANeighbors: TcxNeighbors; const AViewParams: TcxViewParams;
AArrows: TcxHeaderArrows; ASideWidth: Integer; AOnDrawBackground: TcxDrawBackgroundEvent = nil); override;
class procedure DrawSchedulerNavigatorButton(ACanvas: TcxCanvas; R: TRect; AState: TcxButtonState); override;
class procedure DrawSchedulerBorder(ACanvas: TcxCanvas; R: TRect); override;
// SizeGrip
class procedure DrawSizeGrip(ACanvas: TcxCanvas; const ARect: TRect; ABackgroundColor: TColor = clDefault); override;
// Panel
class procedure DrawPanelBackground(ACanvas: TcxCanvas; AControl: TWinControl; ABounds: TRect;
AColorFrom: TColor = clDefault; AColorTo: TColor = clDefault); override;
end;
TcxWinXPLookAndFeelPainter = class(TcxStandardLookAndFeelPainter)
protected
class procedure DrawContent(ACanvas: TcxCanvas; ATheme: TdxTheme; APartId, AStateId: Integer;
const ABounds, ATextAreaBounds: TRect; AAlignmentHorz: TAlignment;
AAlignmentVert: TcxAlignmentVert; AMultiLine, AShowEndEllipsis, AShowPrefix: Boolean;
const AText: string; AFont: TFont; ATextColor, ABkColor: TColor); reintroduce; virtual;
class procedure DrawSchedulerNavigationButtonContent(ACanvas: TcxCanvas;
const ARect: TRect; const AArrowRect: TRect; AIsNextButton: Boolean;
AState: TcxButtonState); override;
public
class function LookAndFeelStyle: TcxLookAndFeelStyle; override;
// colors
class function DefaultSchedulerBorderColor: TColor; override;
// arrow
class procedure DrawArrow(ACanvas: TcxCanvas; const R: TRect; AArrowDirection: TcxArrowDirection; AColor: TColor); override;
class procedure DrawArrow(ACanvas: TcxCanvas; const R: TRect; AState: TcxButtonState; AArrowDirection: TcxArrowDirection; ADrawBorder: Boolean = True); override;
class procedure DrawArrowBorder(ACanvas: TcxCanvas; const R: TRect; AState: TcxButtonState); override;
// border
class function BorderSize: Integer; override;
class procedure DrawBorder(ACanvas: TcxCanvas; R: TRect); override;
// buttons
class function AdjustGroupButtonDisplayRect(const R: TRect; AButtonCount, AButtonIndex: Integer): TRect; override;
class function ButtonBorderSize(AState: TcxButtonState = cxbsNormal): Integer; override;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?