cxlookandfeelpainters.pas
来自「胜天进销存源码,国产优秀的进销存」· PAS 代码 · 共 1,181 行 · 第 1/5 页
PAS
1,181 行
// 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;
AIsGroup: Boolean = False); virtual;
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); virtual;
class procedure DrawHeaderBorder(ACanvas: TcxCanvas; const R: TRect;
ANeighbors: TcxNeighbors; ABorders: TcxBorders); virtual;
class procedure DrawHeaderPressed(ACanvas: TcxCanvas; const ABounds: TRect); virtual;
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); virtual;
class procedure DrawHeaderControlSectionBorder(ACanvas: TcxCanvas; const R: TRect;
ABorders: TcxBorders; AState: TcxButtonState); virtual;
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); virtual;
class procedure DrawHeaderControlSectionText(ACanvas: TcxCanvas;
const ATextAreaBounds: TRect; AState: TcxButtonState;
AAlignmentHorz: TAlignment; AAlignmentVert: TcxAlignmentVert; AMultiLine,
AShowEndEllipsis: Boolean; const AText: string; AFont: TFont; ATextColor: TColor); virtual;
class procedure DrawHeaderSeparator(ACanvas: TcxCanvas; const ABounds: TRect;
AIndentSize: Integer; AColor: TColor; AViewParams: TcxViewParams); virtual;
class procedure DrawSortingMark(ACanvas: TcxCanvas; const R: TRect; AAscendingSorting: Boolean); virtual; // abstract;
class function HeaderBorders(ANeighbors: TcxNeighbors): TcxBorders; virtual;
class function HeaderBorderSize: Integer; virtual;
class function HeaderBounds(const ABounds: TRect; ANeighbors: TcxNeighbors;
ABorders: TcxBorders = cxBordersAll): TRect; virtual;
class function HeaderContentBounds(const ABounds: TRect; ABorders: TcxBorders): TRect; virtual;
class function HeaderDrawCellsFirst: Boolean; virtual;
class function HeaderHeight(AFontHeight: Integer): Integer; virtual;
class function HeaderControlSectionBorderSize(
AState: TcxButtonState = cxbsNormal): Integer; virtual;
class function HeaderControlSectionTextAreaBounds(ABounds: TRect;
AState: TcxButtonState): TRect; virtual;
class function HeaderControlSectionContentBounds(const ABounds: TRect;
AState: TcxButtonState): TRect; virtual;
class function HeaderWidth(ACanvas: TcxCanvas; ABorders: TcxBorders;
const AText: string; AFont: TFont): Integer; virtual;
class function IsHeaderHotTrack: Boolean; virtual;
class function SortingMarkAreaSize: TPoint; virtual;
class function SortingMarkSize: TPoint; virtual; // abstract;
// grid
class procedure DrawGroupByBox(ACanvas: TcxCanvas; const ARect: TRect;
ATransparent: Boolean; ABackgroundColor: TColor; const ABackgroundBitmap: TBitmap); virtual;
// footer
class function FooterBorders: TcxBorders; virtual;
class function FooterBorderSize: Integer; virtual; // abstract;
class function FooterCellBorderSize: Integer; virtual; // abstract;
class function FooterCellOffset: Integer; virtual; // abstract;
class function FooterDrawCellsFirst: Boolean; virtual;
class function FooterSeparatorColor: TColor; virtual;
class function FooterSeparatorSize: Integer; virtual;
class procedure DrawFooterCell(ACanvas: TcxCanvas; const ABounds: TRect;
AAlignmentHorz: TAlignment; AAlignmentVert: TcxAlignmentVert; AMultiLine: Boolean;
const AText: string; AFont: TFont; ATextColor, ABkColor: TColor;
AOnDrawBackground: TcxDrawBackgroundEvent = nil); virtual;
class procedure DrawFooterBorder(ACanvas: TcxCanvas; const R: TRect); virtual; // abstract;
class procedure DrawFooterCellBorder(ACanvas: TcxCanvas; const R: TRect); virtual; // abstract;
class procedure DrawFooterContent(ACanvas: TcxCanvas; const ARect: TRect;
const AViewParams: TcxViewParams); virtual;
class procedure DrawFooterSeparator(ACanvas: TcxCanvas; const R: TRect); virtual;
// filter
class procedure DrawFilterActivateButton(ACanvas: TcxCanvas; R: TRect; AState: TcxButtonState; AChecked: Boolean); virtual;
class procedure DrawFilterCloseButton(ACanvas: TcxCanvas; R: TRect; AState: TcxButtonState); virtual;
class procedure DrawFilterDropDownButton(ACanvas: TcxCanvas; R: TRect; AState: TcxButtonState; AIsFilterActive: Boolean); virtual; // abstract;
class procedure DrawFilterPanel(ACanvas: TcxCanvas; const ARect: TRect;
ATransparent: Boolean; ABackgroundColor: TColor; const ABackgroundBitmap: TBitmap); virtual;
class function FilterActivateButtonSize: TPoint; virtual;
class function FilterCloseButtonSize: TPoint; virtual;
class function FilterDropDownButtonSize: TPoint; virtual;
// popup
class procedure DrawWindowContent(ACanvas: TcxCanvas; const ARect: TRect); virtual;
class function PopupBorderStyle: TcxPopupBorderStyle; virtual;
// tabs
class procedure DrawTab(ACanvas: TcxCanvas; R: TRect; ABorders: TcxBorders;
const AText: string; AState: TcxButtonState; AVertical: Boolean; AFont: TFont;
ATextColor, ABkColor: TColor; AShowPrefix: Boolean = False); virtual;
class procedure DrawTabBorder(ACanvas: TcxCanvas; R: TRect; ABorder: TcxBorder; ABorders: TcxBorders; AVertical: Boolean); virtual; // abstract;
class procedure DrawTabsRoot(ACanvas: TcxCanvas; const R: TRect; ABorders: TcxBorders; AVertical: Boolean); virtual; // abstract;
class function IsDrawTabImplemented(AVertical: Boolean): Boolean; virtual;
class function IsTabHotTrack(AVertical: Boolean): Boolean; virtual;
class function TabBorderSize(AVertical: Boolean): Integer; virtual;
// indicator
class procedure DrawIndicatorCustomizationMark(ACanvas: TcxCanvas;
const R: TRect; AColor: TColor); virtual;
class procedure DrawIndicatorImage(ACanvas: TcxCanvas; const R: TRect; AKind: TcxIndicatorKind); virtual;
class procedure DrawIndicatorItem(ACanvas: TcxCanvas; const R: TRect;
AKind: TcxIndicatorKind; AColor: TColor; AOnDrawBackground: TcxDrawBackgroundEvent = nil); virtual;
class procedure DrawIndicatorItemEx(ACanvas: TcxCanvas; const R: TRect;
AKind: TcxIndicatorKind; AColor: TColor; AOnDrawBackground: TcxDrawBackgroundEvent = nil); virtual;
class function IndicatorDrawItemsFirst: Boolean; virtual;
// scrollbars
class function ScrollBarMinimalThumbSize(AVertical: Boolean): Integer; virtual;
class procedure DrawScrollBarPart(ACanvas: TcxCanvas; AHorizontal: Boolean;
R: TRect; APart: TcxScrollBarPart; AState: TcxButtonState); virtual;
// size grip
class function SizeGripSize: TSize; virtual;
class procedure DrawSizeGrip(ACanvas: TcxCanvas; const ARect: TRect; ABackgroundColor: TColor = clDefault); virtual;
// ms outlook
class procedure CalculateSchedulerNavigationButtonRects(AIsNextButton: Boolean;
ACollapsed: Boolean; APrevButtonTextSize: TSize; ANextButtonTextSize: TSize;
var ABounds: TRect; out ATextRect: TRect; out AArrowRect: TRect); virtual;
class procedure DrawMonthHeader(ACanvas: TcxCanvas; const ABounds: TRect;
const AText: string; ANeighbors: TcxNeighbors; const AViewParams: TcxViewParams;
AArrows: TcxHeaderArrows; ASideWidth: Integer; AOnDrawBackground: TcxDrawBackgroundEvent = nil); virtual;
class procedure DrawSchedulerBorder(ACanvas: TcxCanvas; R: TRect); virtual;
class procedure DrawSchedulerEventProgress(ACanvas: TcxCanvas;
const ABounds, AProgress: TRect; AViewParams: TcxViewParams; ATransparent: Boolean); virtual;
class procedure DrawSchedulerNavigationButton(ACanvas: TcxCanvas;
const ARect: TRect; AIsNextButton: Boolean; AState: TcxButtonState;
const AText: string; const ATextRect: TRect; const AArrowRect: TRect); virtual;
class procedure DrawSchedulerNavigationButtonArrow(ACanvas: TcxCanvas;
const ARect: TRect; AIsNextButton: Boolean; AColor: TColor); virtual;
class procedure DrawSchedulerNavigatorButton(ACanvas: TcxCanvas; R: TRect; AState: TcxButtonState); virtual;
class procedure DrawSchedulerSplitterBorder(ACanvas: TcxCanvas; R: TRect; const AViewParams: TcxViewParams; AIsHorizontal: Boolean); virtual;
class function SchedulerEventProgressOffsets: TRect; virtual;
class procedure SchedulerNavigationButtonSizes(AIsNextButton: Boolean;
var ABorders: TRect; var AArrowSize: TSize); virtual;
// chart view
class function ChartToolBoxDataLevelInfoBorderSize: Integer; virtual;
// editors
class procedure DrawClock(ACanvas: TcxCanvas; const ARect: TRect;
ADateTime: TDateTime; ABackgroundColor: TColor); virtual;
class procedure DrawEditorButton(ACanvas: TcxCanvas; const ARect: TRect;
AButtonKind: TcxEditBtnKind; AState: TcxButtonState); virtual;
class function EditButtonTextOffset: Integer; virtual;
class function EditButtonSize: TSize; virtual;
class function EditButtonTextColor: TColor; virtual;
class function GetContainerBorderColor(AIsHighlightBorder: Boolean): TColor; virtual;
// navigator
class procedure DrawNavigatorGlyph(ACanvas: TcxCanvas; AImageList: TCustomImageList;
AImageIndex: TImageIndex; AButtonIndex: Integer; const AGlyphRect: TRect;
AEnabled: Boolean; AUserGlyphs: Boolean); virtual;
class function NavigatorGlyphSize: TSize; virtual;
// ProgressBar
class procedure DrawProgressBarBorder(ACanvas: TcxCanvas; ARect: TRect; AVertical: Boolean); virtual;
class procedure DrawProgressBarChunk(ACanvas: TcxCanvas; ARect: TRect; AVertical: Boolean); virtual;
class function ProgressBarBorderSize(AVertical: Boolean): TRect; virtual;
class function ProgressBarTextColor: TColor; virtual;
// GroupBox
class procedure DrawGroupBoxBackground(ACanvas: TcxCanvas; ABounds: TRect;
ARect: TRect); virtual;
class procedure DrawGroupBoxCaption(ACanvas: TcxCanvas; ACaptionRect: TRect;
ACaptionPosition: TcxGroupBoxCaptionPosition); virtual;
class procedure DrawGroupBoxContent(ACanvas: TcxCanvas; ABorderRect: TRect;
ACaptionPosition: TcxGroupBoxCaptionPosition); virtual;
class function GroupBoxBorderSize(ACaption: Boolean;
ACaptionPosition: TcxGroupBoxCaptionPosition): TRect; virtual;
class function GroupBoxTextColor(ACaptionPosition: TcxGroupBoxCaptionPosition): TColor; virtual;
class function IsGroupBoxTransparent(AIsCaption: Boolean;
ACaptionPosition: TcxGroupBoxCaptionPosition): Boolean; virtual;
// Panel
class procedure DrawPanelBackground(ACanvas: TcxCanvas; AControl: TWinControl; ABounds: TRect;
AColorFrom: TColor = clDefault; AColorTo: TColor = clDefault); virtual;
class procedure DrawPanelBorders(ACanvas: TcxCanvas; const ABorderRect: TRect); virtual;
class procedure DrawPanelCaption(ACanvas: TcxCanvas; const ACaptionRect: TRect;
ACaptionPosition: TcxGroupBoxCaptionPosition); virtual;
class procedure DrawPanelContent(ACanvas: TcxCanvas; const ABorderRect: TRect;
ABorder: Boolean); virtual;
class function PanelBorderSize: TRect; virtual;
class function PanelTextColor: TColor; virtual;
// TrackBar
class procedure DrawTrackBar(ACanvas: TcxCanvas; const ARect: TRect;
const ASelection: TRect; AShowSelection: Boolean; AEnabled: Boolean;
AHorizontal: Boolean); virtual;
class procedure DrawTrackBarThumb(ACanvas: TcxCanvas; ARect: TRect; AState: TcxButtonState;
AHorizontal: Boolean; ATicks: TcxTrackBarTicksAlign); virtual;
class function TrackBarThumbSize(AHorizontal: Boolean): TSize; virtual;
class function TrackBarTicksColor(AText: Boolean): TColor; virtual;
class function TrackBarTrackSize: Integer; virtual;
// Splitter
class procedure DrawSplitter(ACanvas: TcxCanvas; const ARect: TRect;
AHighlighted: Boolean; AClicked: Boolean; AHorizontal: Boolean); virtual;
class function GetSplitterSize(AHorizontal: Boolean): TSize; virtual;
end;
TcxStandardLookAndFeelPainter = class(TcxCustomLookAndFeelPainter)
public
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 DrawGroupExpandButton(ACanvas: TcxCanvas; const R: TRect; AExpanded: Boolean; AState: TcxButtonState); override;
class function ExpandButtonSize: Integer; override;
class procedure DrawExpandButton(ACanvas: TcxCanvas; const R: TRect; AExpanded: Boolean; AColor: TColor = clDefault); 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 HeaderControlSectionBorderSize(
AState: TcxButtonState = cxbsNormal): 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 function DefaultSchedulerViewContentColor: TColor; override;
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 DrawSchedulerSplitterBorder(ACanvas: TcxCanvas; R: TRect; const AViewParams: TcxViewParams; AIsHorizontal: Boolean); override;
end;
TcxFlatLookAndFeelPainter = class(TcxCustomLookAndFeelPainter)
public
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?