cxpc.pas
来自「胜天进销存源码,国产优秀的进销存」· PAS 代码 · 共 1,633 行 · 第 1/5 页
PAS
1,633 行
procedure InitializeLineBoundsA(var ALineIndexBoundsA: TcxPCLineIndexBoundsArray; AFirstIndex, ALastIndex: Integer);
function InternalGetClientRect: TRect;
function InternalGetShiftState: TShiftState;
procedure InternalInvalidateRect(Rect: TRect);
function IsTooSmallControlSize: Boolean;
function PassDesignMouseEvent(X, Y: Integer): Boolean;
procedure PlaceVisibleTabsOnRows(ATabsWidth, ATabsDistance: Integer);
procedure PrepareImagesBitmapBackground(ABitmap: TBitmap);
procedure RearrangeRows;
procedure ReadClientRectBottom(Reader: TReader);
procedure ReadClientRectLeft(Reader: TReader);
procedure ReadClientRectRight(Reader: TReader);
procedure ReadClientRectTop(Reader: TReader);
procedure RepaintTab(TabVisibleIndex: Integer; TabPropertyChanged: TcxPCTabPropertyChanged);
procedure SelectTab(ATabVisibleIndex: Integer; AAddToSelected: Boolean);
procedure SetHideTabs(const Value: Boolean);
procedure SetHotTrack(Value: Boolean);
procedure SetImageBorder(const Value: Integer);
procedure SetImages(const Value: TCustomImageList);
procedure SetIsTabsContainer(Value: Boolean);
procedure SetMaxRotatedTabWidth(Value: Integer);
procedure SetMultiLine(const Value: Boolean);
procedure SetMultiSelect(const Value: Boolean);
procedure SetNavigatorPosition(const Value: TcxPCNavigatorPosition);
procedure SetOptions(Value: TcxPCOptions);
procedure SetOwnerDraw(const Value: Boolean);
procedure SetRaggedRight(const Value: Boolean);
procedure SetRotate(const Value: Boolean);
procedure SetScrollOpposite(const Value: Boolean);
procedure SetShowFrame(const Value: Boolean);
procedure SetStyle(const Value: TcxPCStyleID);
procedure SetTabCaptionAlignment(Value: TAlignment);
procedure SetTabHeight(const Value: Smallint);
procedure SetTabIndex(Value: Integer);
procedure SetTabPosition(const Value: TcxTabPosition);
procedure SetTabs(const Value: TcxTabs);
procedure SetTabSlants(Value: TcxTabSlants);
procedure SetTabsTab(TabIndex: Integer; const Value: TcxTab);
procedure SetTabWidth(const Value: Smallint);
procedure SynchronizeHotTrackStates(Shift: TShiftState);
procedure SynchronizeNavigatorButtons;
procedure SynchronizeTabImagesRotationAngle;
procedure TabSlantsChanged(Sender: TObject);
procedure TimerEventHandler(Sender: TObject);
procedure UpdateButtonsState;
procedure UpdateTabPosition(ANavigatorButtons: TcxPCNavigatorButtons);
procedure WriteClientRectBottom(Writer: TWriter);
procedure WriteClientRectLeft(Writer: TWriter);
procedure WriteClientRectRight(Writer: TWriter);
procedure WriteClientRectTop(Writer: TWriter);
procedure WMGetDlgCode(var Message: TWMGetDlgCode); message WM_GETDLGCODE;
procedure WMPrintClient(var Message: TWMPrintClient); message WM_PRINTCLIENT;
procedure CMDesignHitTest(var Message: TCMDesignHitTest); message CM_DESIGNHITTEST;
procedure CMDialogChar(var Message: TCMDialogChar); message CM_DIALOGCHAR;
procedure CMDialogKey(var Message: TCMDialogKey); message CM_DIALOGKEY;
procedure CMEnabledChanged(var Message: TMessage); message CM_ENABLEDCHANGED;
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
procedure CMParentColorChanged(var Message: TMessage); message CM_PARENTCOLORCHANGED;
protected
procedure AdjustClientRect(var Rect: TRect); override;
procedure ChangeScale(M, D: Integer); override;
procedure CreateHandle; override;
procedure CreateParams(var Params: TCreateParams); override;
procedure DefineProperties(Filer: TFiler); override;
function DoMouseWheelDown(Shift: TShiftState; MousePos:
TPoint): Boolean; override;
function DoMouseWheelUp(Shift: TShiftState; MousePos:
TPoint): Boolean; override;
procedure FocusChanged; override;
procedure FontChanged; override;
procedure KeyDown(var Key: Word; Shift: TShiftState); override;
procedure Loaded; override;
procedure LookAndFeelChanged(Sender: TcxLookAndFeel;
AChangedValues: TcxLookAndFeelValues); override;
procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer); override;
procedure MouseLeave(AControl: TControl); override;
procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
procedure MouseUp(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer); override;
function NeedsScrollBars: Boolean; override;
procedure Paint; override;
procedure Resize; override;
procedure AfterPaintTab(ACanvas: TcxCanvas; ATab: TcxTab;
AImageAndTextData: TcxPCOutTabImageAndTextData); virtual;
function DoCanClose: Boolean; virtual;
procedure DoClose; virtual;
function HandleDialogChar(Key: Integer): Boolean; virtual;
function HasBackground: Boolean; override;
function CanChange(NewTabIndex: Integer): Boolean; dynamic;
function CanShowTab(TabIndex: Integer): Boolean; virtual;
procedure Change; dynamic;
procedure CorrectFirstVisibleTab(TabVisibleIndex: Integer);
procedure DoShowGoDialog; virtual;
procedure DrawTab(TabIndex: Integer; const Rect: TRect; Active: Boolean); virtual;
function GetActivePage: TcxTabSheet; virtual;
function GetImageIndex(ATabIndex: Integer): Integer; virtual;
function GetPage(ATabIndex: Integer): TcxTabSheet; virtual;
procedure GoDialogClickEventHandler(ATabControlItemIndex: Integer); virtual;
procedure HideGoDialog(ATabControlItemIndex: Integer);
procedure ImageListChange(Sender: TObject); virtual;
function InternalKeyDown(var Key: Word; Shift: TShiftState): Boolean; virtual;
function IsChangeEventLocked: Boolean;
procedure LockChangeEvent(ALock: Boolean);
class procedure OutError(SourceMethodName: TCaption; Msg: TCaption);
procedure PrepareTabCanvasFont(ATab: TcxTab; ACanvas: TcxCanvas); virtual;
procedure RequestLayout; dynamic;
procedure SetDefaultStyle;
procedure SetModified;
procedure ShowGoDialog;
function TabIndexTabMustBeVisible: Boolean; virtual;
procedure UpdateTabImages;
property DisplayRect: TRect read GetDisplayRect;
property FirstVisibleTab: Integer read FFirstVisibleTab write FFirstVisibleTab;
property Focusable: Boolean read FFocusable write FFocusable default True;
property HideTabs: Boolean read FHideTabs write SetHideTabs default False;
property HotTrack: Boolean read FHotTrack write SetHotTrack default False;
property ImageBorder: Integer read FImageBorder write SetImageBorder default 0;
property Images: TCustomImageList read GetImages write SetImages;
property IsTabsContainer: Boolean read FIsTabsContainer
write SetIsTabsContainer default False;
property MainTabIndex: Integer read GetMainTabIndex;
property MaxRotatedTabWidth: Integer read GetMaxRotatedTabWidth
write SetMaxRotatedTabWidth default 0;
property MultiLine: Boolean read FMultiLine write SetMultiLine default False;
property MultiSelect: Boolean read FMultiSelect write SetMultiSelect default False;
property NavigatorPosition: TcxPCNavigatorPosition read FNavigatorPosition
write SetNavigatorPosition default npRightTop;
property Options: TcxPCOptions read GetOptions write SetOptions
default cxPCDefaultOptions;
property OwnerDraw: Boolean read FOwnerDraw write SetOwnerDraw default False;
property RaggedRight: Boolean read FRaggedRight write SetRaggedRight default False;
property Rotate: Boolean read FRotate write SetRotate default False;
property ScrollOpposite: Boolean read FScrollOpposite
write SetScrollOpposite default False;
property ShowFrame: Boolean read FShowFrame write SetShowFrame default False;
property Style: TcxPCStyleID read GetStyle write SetStyle default cxPCDefaultStyle;
property TabCaptionAlignment: TAlignment read FTabCaptionAlignment
write SetTabCaptionAlignment default taCenter;
property TabHeight: Smallint read FTabSize.Y write SetTabHeight default 0;
property TabIndex: Integer read FTabIndex write SetTabIndex default -1;
property TabPosition: TcxTabPosition read FTabPosition write SetTabPosition
default tpTop;
property TabSlants: TcxTabSlants read FTabSlants write SetTabSlants;
property TabsTabs[TabIndex: Integer]: TcxTab read GetTabsTab write SetTabsTab;
property TabWidth: Smallint read FTabSize.X write SetTabWidth default 0;
property VisibleTabList: TcxVisibleTabList read FVisibleTabList;
property OnCanClose: TcxPCCanCloseEvent read FOnCanClose write FOnCanClose;
property OnChange: TNotifyEvent read FOnChange write FOnChange;
property OnChanging: TcxTabChangingEvent read FOnChanging write FOnChanging;
property OnDrawTab: TcxDrawTabEvent read FOnDrawTab write FOnDrawTab;
property OnDrawTabEx: TcxDrawTabExEvent read FOnDrawTabEx write FOnDrawTabEx;
property OnGetImageIndex: TcxGetTabImageEvent read FOnGetImageIndex write FOnGetImageIndex;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
function CanFocus: Boolean; override;
function GetOptimalSize: Integer;
procedure GetTabOrderList(List: TList); override;
function IndexOfTabAt(X, Y: Integer): Integer;
procedure ScrollTabs(Delta: Integer);
procedure SetStandardStyle(StandardStyle: TcxPCStandardStyle);
procedure SetStyleByStyleName(StyleName: TCaption);
property LookAndFeel;
property Painter: TcxPCCustomPainter read FPainter;
property ParentBackground;
property RowCount: Integer read FRowCount;
property Tabs: TcxTabs read FTabs write SetTabs;
property TabStop default True;
property TopOrLeftPartRowCount: Integer read FTopOrLeftPartRowCount;
end;
{ TcxPageControl }
TcxPageControl = class(TcxCustomTabControl)
private
FActivePage: TcxTabSheet;
FActivePageSetting: Boolean;
FNewDockSheet: TcxTabSheet;
FPageInserting: Boolean;
FPages: TList;
FUndockingPage: TcxTabSheet;
FOnPageChanging: TcxPageChangingEvent;
procedure ChangeActivePage(APage: TcxTabSheet);
function GetActivePageIndex: Integer;
function GetDockClientFromPoint(P: TPoint): TControl;
function GetPageCount: Integer;
function GetTabCount: Integer;
procedure InsertPage(APage: TcxTabSheet);
procedure RemovePage(APage: TcxTabSheet);
procedure SetActivePage(APage: TcxTabSheet);
procedure SetActivePageIndex(Value: Integer);
procedure WMLButtonDown(var Message: TWMLButtonDown); message WM_LBUTTONDOWN;
procedure WMLButtonDblClk(var Message: TWMLButtonDblClk); message WM_LBUTTONDBLCLK;
procedure CMDockNotification(var Message: TCMDockNotification); message CM_DOCKNOTIFICATION;
procedure CMControlChange(var Message: TCMControlChange); message CM_CONTROLCHANGE;
procedure CMUnDockClient(var Message: TCMUnDockClient); message CM_UNDOCKCLIENT;
protected
procedure AlignControls(AControl: TControl; var Rect: TRect); override;
function CanChange(NewTabIndex: Integer): Boolean; override;
function CanFocusOnClick: Boolean; override;
procedure Change; override;
procedure DoAddDockClient(Client: TControl; const ARect: TRect); override;
function DockClient(DockSource: TDragDockObject;
MousePos: TPoint): Integer; virtual;
procedure DoClose; override;
procedure DockOver(Source: TDragDockObject; X, Y: Integer;
State: TDragState; var Accept: Boolean); override;
procedure DoRemoveDockClient(Client: TControl); override;
function GetActivePage: TcxTabSheet; override;
function GetPage(ATabIndex: Integer): TcxTabSheet; override;
procedure GetSiteInfo(Client: TControl; var InfluenceRect: TRect;
MousePos: TPoint; var CanDock: Boolean); override;
procedure ImageListChange(Sender: TObject); override;
procedure Loaded; override;
procedure RequestLayout; override;
procedure SetChildOrder(Child: TComponent; Order: Integer); override;
procedure ShowControl(AControl: TControl); override;
function TabIndexTabMustBeVisible: Boolean; override;
function UndockClient(NewTarget, Client: TControl): Boolean;
virtual;
function DoUnDock(NewTarget: TWinControl; Client: TControl): Boolean; override;
procedure GetChildren(Proc: TGetChildProc; Root: TComponent); override;
function CanChangeActivePage(NewPage: TcxTabSheet): Boolean; dynamic;
procedure ControlChange(Inserting: Boolean; Child: TControl); virtual;
function GetPageFromDockClient(Client: TControl): TcxTabSheet;
procedure PageChange; dynamic;
procedure PageChanging(NewPage: TcxTabSheet; var AllowChange: Boolean);
procedure UpdateActivePage; virtual;
procedure UpdateTab(APage: TcxTabSheet);
procedure UpdateTabs;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
function FindNextPage(ACurrentPage: TcxTabSheet;
AGoForward, ACheckTabAccessibility: Boolean): TcxTabSheet;
function FindNextPageEx(ACurrentPage: TcxTabSheet;
AGoForward, ACheckTabAccessibility, ACircular: Boolean): TcxTabSheet;
procedure DockDrop(Source: TDragDockObject; X, Y: Integer); override;
procedure SelectNextPage(GoForward: Boolean; CheckTabVisible: Boolean = True);
property ActivePageIndex: Integer read GetActivePageIndex
write SetActivePageIndex;
property PageCount: Integer read GetPageCount;
property Pages[Index: Integer]: TcxTabSheet read GetPage;
property TabCount: Integer read GetTabCount;
published
property ActivePage: TcxTabSheet read FActivePage write SetActivePage;
property Align;
property Anchors;
property BiDiMode;
property Color;
property Constraints;
property DockSite;
property DragCursor;
property DragKind;
property DragMode;
property Enabled;
property Focusable;
property Font;
property HideTabs;
property HotTrack;
property ImageBorder;
property Images;
property LookAndFeel;
property MaxRotatedTabWidth;
property MultiLine;
property NavigatorPosition;
property Options;
property OwnerDraw;
property ParentBackground;
property ParentBiDiMode;
property ParentColor;
property ParentFont;
property ParentShowHint;
property PopupMenu;
property RaggedRight;
property Rotate;
property ScrollOpposite;
property ShowFrame;
property ShowHint;
property Style;
property TabHeight;
property TabOrder;
property TabPosition;
property TabSlants;
property TabWidth;
property Visible;
property OnCanClose;
property OnChange;
property OnClick;
property OnContextPopup;
property OnDblClick;
property OnDockDrop;
property OnDockOver;
property OnDragDrop;
property OnDragOver;
property OnDrawTab;
property OnDrawTabEx;
property OnEndDock;
property OnEndDrag;
property OnEnter;
property OnExit;
property OnGetImageIndex;
property OnGetSiteInfo;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnPageChanging: TcxPageChangingEvent read FOnPageChanging
write FOnPageChanging;
property OnResize;
property OnStartDock;
property OnStartDrag;
property OnUnDock;
end;
TcxTabSheet = class(TCustomControl)
private
FHighlighted: Boolean;
FImageIndex: TImageIndex;
FPageControl: TcxPageControl;
FTab: TcxTab;
FTabShowing: Boolean;
FTabVisible: Boolean;
FOnHide: TNotifyEvent;
FOnShow: TNotifyEvent;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?