cxedit.pas
来自「胜天进销存源码,国产优秀的进销存」· PAS 代码 · 共 1,387 行 · 第 1/5 页
PAS
1,387 行
end;
TcxCustomEditStyleClass = class of TcxCustomEditStyle;
{ TcxEditStyle }
TcxEditStyle = class(TcxCustomEditStyle)
published
property AssignedValues;
property BorderColor;
property BorderStyle;
property ButtonStyle;
property ButtonTransparency;
property Color;
property Edges;
property Font;
property Gradient;
// property GradientButtons;
property GradientDirection;
property HotTrack;
property LookAndFeel;
property PopupBorderStyle;
property Shadow;
property StyleController;
property TextColor;
property TextStyle;
property TransparentBorder;
end;
{ TcxCustomEditPropertiesValues }
TcxCustomEditPropertiesValues = class(TPersistent)
private
FOwner: TPersistent;
FMaxValue: Boolean;
FMinValue: Boolean;
FReadOnly: Boolean;
function GetProperties: TcxCustomEditProperties;
procedure SetMaxValue(Value: Boolean);
procedure SetMinValue(Value: Boolean);
procedure SetReadOnly(Value: Boolean);
protected
function GetOwner: TPersistent; override;
procedure Changed;
function IsMaxValueStored: Boolean;
function IsMinValueStored: Boolean;
function IsPropertiesPropertyVisible(const APropertyName: string): Boolean;
property MaxValue: Boolean read FMaxValue write SetMaxValue
stored IsMaxValueStored;
property MinValue: Boolean read FMinValue write SetMinValue
stored IsMinValueStored;
property Properties: TcxCustomEditProperties read GetProperties;
public
constructor Create(AOwner: TPersistent); virtual;
procedure Assign(Source: TPersistent); override;
procedure BeginUpdate;
procedure EndUpdate;
procedure RestoreDefaults; virtual;
published
property ReadOnly: Boolean read FReadOnly write SetReadOnly stored False;
end;
TcxCustomEditPropertiesValuesClass = class of TcxCustomEditPropertiesValues;
{ TcxCustomEditDefaultValuesProvider }
TcxCustomEditDefaultValuesProvider = class(TcxInterfacedPersistent,
IUnknown, IcxEditDefaultValuesProvider)
public
destructor Destroy; override;
function CanSetEditMode: Boolean; virtual;
procedure ClearUsers;
function DefaultAlignment: TAlignment; virtual;
function DefaultBlobKind: TcxBlobKind; virtual;
function DefaultCanModify: Boolean; virtual;
function DefaultDisplayFormat: string; virtual;
function DefaultEditFormat: string; virtual;
function DefaultEditMask: string; virtual;
function DefaultIsFloatValue: Boolean; virtual;
function DefaultMaxLength: Integer; virtual;
function DefaultMaxValue: Double; virtual;
function DefaultMinValue: Double; virtual;
function DefaultPrecision: Integer; virtual;
function DefaultReadOnly: Boolean; virtual;
function DefaultRequired: Boolean; virtual;
function GetInstance: TObject;
function IsBlob: Boolean; virtual;
function IsCurrency: Boolean; virtual;
function IsDataAvailable: Boolean; virtual;
function IsDataStorage: Boolean; virtual;
function IsDisplayFormatDefined(AIsCurrencyValueAccepted: Boolean): Boolean; virtual;
function IsOnGetTextAssigned: Boolean; virtual;
function IsOnSetTextAssigned: Boolean; virtual;
function IsValidChar(AChar: Char): Boolean; virtual;
end;
TcxCustomEditDefaultValuesProviderClass = class of TcxCustomEditDefaultValuesProvider;
{ TcxCustomEditProperties }
TcxEditButtonClickEvent = procedure (Sender: TObject; AButtonIndex: Integer) of object;
TcxEditEditingEvent = procedure(Sender: TObject; var CanEdit: Boolean) of object;
TcxEditCloseUpReason = (crUnknown, crTab, crClose, crCancel, crEnter);
TcxEditClosePopupEvent = procedure(Sender: TcxControl; AReason: TcxEditCloseUpReason) of object;
TcxCustomEditProperties = class(TcxInterfacedPersistent)
private
FAutoSelect: Boolean;
FBeepOnError: Boolean;
FButtons: TcxEditButtons;
FButtonsViewStyle: TcxEditButtonsViewStyle;
FChangedOccurred: Boolean;
FClearKey: TShortCut;
FClickKey: TShortCut;
FFreeNotificator: TcxFreeNotificator;
FImmediatePost: Boolean;
FInnerAlignment: TcxEditAlignment;
FIsChangingCount: Integer;
FMaxValue: Double;
FMinValue: Double;
FReadOnly: Boolean;
FTransparent: Boolean;
FUpdateCount: Integer;
FUseLeftAlignmentOnEditing: Boolean;
FUseMouseWheel: Boolean;
FValidateOnEnter: Boolean;
FOnButtonClick: TcxEditButtonClickEvent;
FOnChange: TNotifyEvent;
FOnClosePopup: TcxEditClosePopupEvent;
FOnEditValueChanged: TNotifyEvent;
FOnValidate: TcxEditValidateEvent;
FOnPropertiesChanged: TNotifyEvent;
function BaseGetAlignment: TcxEditAlignment;
procedure DefaultValuesChanged(Sender: TObject);
function GetIsChanging: Boolean;
function GetReadOnly: Boolean;
function IsAlignmentStored: Boolean;
function IsUseLeftAlignmentOnEditingStored: Boolean;
function IsReadOnlyStored: Boolean;
procedure SetAssignedValues(Value: TcxCustomEditPropertiesValues);
procedure SetAutoSelect(Value: Boolean);
procedure SetButtons(Value: TcxEditButtons);
procedure SetButtonsViewStyle(Value: TcxEditButtonsViewStyle);
procedure SetUseLeftAlignmentOnEditing(Value: Boolean);
procedure SetIDefaultValuesProvider(Value: IcxEditDefaultValuesProvider);
procedure SetMaxValue(Value: Double);
procedure SetMinValue(Value: Double);
procedure SetReadOnly(Value: Boolean);
procedure SetTransparent(Value: Boolean);
protected
FAlignment: TcxEditAlignment;
FAssignedValues: TcxCustomEditPropertiesValues;
FChangedLocked: Boolean;
FIDefaultValuesProvider: IcxEditDefaultValuesProvider;
FOwner: TPersistent;
procedure AlignmentChangedHandler(Sender: TObject); virtual;
procedure BaseSetAlignment(Value: TcxEditAlignment); virtual;
procedure ButtonsChanged(Sender: TObject); virtual;
function CanModify: Boolean;
function CanValidate: Boolean; virtual;
function DefaultUseLeftAlignmentOnEditing: Boolean; virtual;
procedure DefaultValuesProviderDestroyed; virtual;
procedure DoValidate(var ADisplayValue: TcxEditValue;
var AErrorText: TCaption; var AError: Boolean; AEdit: TcxCustomEdit;
out AIsUserErrorDisplayValue: Boolean);
procedure FillMinMaxValues(AMinValue, AMaxValue: Double);
procedure FreeNotification(Sender: TComponent); virtual;
class function GetAssignedValuesClass: TcxCustomEditPropertiesValuesClass; virtual;
function GetDefaultHorzAlignment: TAlignment; virtual;
function GetDisplayFormatOptions: TcxEditDisplayFormatOptions; virtual;
function GetMaxValue: Double; virtual;
function GetMinValue: Double; virtual;
function GetValidateErrorText(AErrorKind: TcxEditErrorKind): string; virtual;
function GetValueEditorEditValueSource(AEditFocused: Boolean): TcxDataEditValueSource; virtual;
class function GetViewDataClass: TcxCustomEditViewDataClass; virtual;
function HasDisplayValue: Boolean; virtual;
function InnerEditNeedsTabs: Boolean; virtual;
function IsEditValueConversionDependOnFocused: Boolean; virtual;
function IsMaxValueStored: Boolean;
function IsMinValueStored: Boolean;
property AssignedValues: TcxCustomEditPropertiesValues read FAssignedValues
write SetAssignedValues;
property ButtonsViewStyle: TcxEditButtonsViewStyle read FButtonsViewStyle
write SetButtonsViewStyle default bvsNormal;
property DisplayFormatOptions: TcxEditDisplayFormatOptions read GetDisplayFormatOptions;
property FreeNotificator: TcxFreeNotificator read FFreeNotificator;
property MaxValue: Double read GetMaxValue write SetMaxValue stored IsMaxValueStored;
property MinValue: Double read GetMinValue write SetMinValue stored IsMinValueStored;
property Transparent: Boolean read FTransparent write SetTransparent stored False; // deprecated
public
constructor Create(AOwner: TPersistent); override;
destructor Destroy; override;
procedure Assign(Source: TPersistent); override;
function CanCompareEditValue: Boolean; virtual;
class function GetButtonsClass: TcxEditButtonsClass; virtual;
class function GetContainerClass: TcxContainerClass; virtual;
class function GetStyleClass: TcxCustomEditStyleClass; virtual;
class function GetViewInfoClass: TcxContainerViewInfoClass; virtual;
procedure BeginUpdate;
procedure Changed; virtual;
function ChangedLocked: Boolean;
function CompareDisplayValues(
const AEditValue1, AEditValue2: TcxEditValue): Boolean; virtual;
function CreatePreviewProperties: TcxCustomEditProperties; virtual;
function CreateViewData(AStyle: TcxCustomEditStyle;
AIsInplace: Boolean; APreviewMode: Boolean = False): TcxCustomEditViewData; virtual;
procedure DataChanged; virtual;
procedure EndUpdate(AInvokeChanged: Boolean = True);
function GetDisplayText(const AEditValue: TcxEditValue;
AFullText: Boolean = False; AIsInplace: Boolean = True): WideString; virtual;
function GetEditConstantPartSize(ACanvas: TcxCanvas; AEditStyle: TcxCustomEditStyle;
AIsInplace: Boolean; const AEditSizeProperties: TcxEditSizeProperties;
var MinContentSize: TSize): TSize;
function GetEditContentSize(ACanvas: TcxCanvas; AEditStyle: TcxCustomEditStyle;
AIsInplace: Boolean; const AEditValue: TcxEditValue; const AEditSizeProperties:
TcxEditSizeProperties): TSize;
function GetEditSize(ACanvas: TcxCanvas; AEditStyle: TcxCustomEditStyle;
AIsInplace: Boolean; const AEditValue: TcxEditValue; AEditSizeProperties:
TcxEditSizeProperties): TSize;
function GetSpecialFeatures: TcxEditSpecialFeatures; virtual;
function GetSupportedOperations: TcxEditSupportedOperations; virtual;
function IsActivationKey(AKey: Char): Boolean; virtual;
function IsEditValueValid(var EditValue: TcxEditValue; AEditFocused: Boolean): Boolean; virtual;
function IsResetEditClass: Boolean; virtual;
function IsValueEditorWithValueFormatting: Boolean;
procedure LockUpdate(ALock: Boolean);
procedure PrepareDisplayValue(const AEditValue: TcxEditValue; var DisplayValue: TcxEditValue; AEditFocused: Boolean); virtual;
procedure RestoreDefaults; virtual;
procedure Update(AProperties: TcxCustomEditProperties); virtual;
procedure ValidateDisplayValue(var ADisplayValue: TcxEditValue;
var AErrorText: TCaption; var AError: Boolean;
AEdit: TcxCustomEdit); virtual;
function GetEditValueSource(AEditFocused: Boolean): TcxDataEditValueSource; virtual;
property Buttons: TcxEditButtons read FButtons write SetButtons;
property IDefaultValuesProvider: IcxEditDefaultValuesProvider
read FIDefaultValuesProvider write SetIDefaultValuesProvider;
property IsChanging: Boolean read GetIsChanging;
property OnPropertiesChanged: TNotifyEvent read FOnPropertiesChanged write FOnPropertiesChanged;
property ReadOnly: Boolean read GetReadOnly write SetReadOnly stored IsReadOnlyStored;
property UseLeftAlignmentOnEditing: Boolean read FUseLeftAlignmentOnEditing
write SetUseLeftAlignmentOnEditing stored IsUseLeftAlignmentOnEditingStored;
property UseMouseWheel: Boolean read FUseMouseWheel write FUseMouseWheel default True;
// !!!
property Alignment: TcxEditAlignment read BaseGetAlignment
write BaseSetAlignment stored IsAlignmentStored;
property AutoSelect: Boolean read FAutoSelect write SetAutoSelect default True;
property BeepOnError: Boolean read FBeepOnError write FBeepOnError default False;
property ClearKey: TShortCut read FClearKey write FClearKey default 0;
property ClickKey: TShortCut read FClickKey write FClickKey default VK_RETURN + scCtrl;
property ImmediatePost: Boolean read FImmediatePost write FImmediatePost default False;
property ValidateOnEnter: Boolean read FValidateOnEnter write FValidateOnEnter default False;
property OnButtonClick: TcxEditButtonClickEvent read FOnButtonClick write FOnButtonClick;
property OnChange: TNotifyEvent read FOnChange write FOnChange;
property OnClosePopup: TcxEditClosePopupEvent read FOnClosePopup write FOnClosePopup;
property OnEditValueChanged: TNotifyEvent read FOnEditValueChanged write FOnEditValueChanged;
property OnValidate: TcxEditValidateEvent read FOnValidate write FOnValidate;
end;
{ TcxDataBinding }
TcxDataBinding = class(TcxCustomDataBinding);
{ TcxEditDataBinding }
TInterfacedObjectClass = class of TInterfacedObject;
TcxEditDataBinding = class(TPersistent)
private
FIDefaultValuesProvider: TcxCustomEditDefaultValuesProvider;
function GetIDefaultValuesProvider: IcxEditDefaultValuesProvider;
function GetIsDataAvailable: Boolean;
protected
FEdit: TcxCustomEdit;
procedure DefaultValuesChanged; virtual;
function GetDisplayValue: TcxEditValue; virtual;
function GetEditDataBindingInstance: TcxEditDataBinding;
function GetEditing: Boolean; virtual;
function GetModified: Boolean; virtual;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?