cxeditpropeditors.pas
来自「胜天进销存源码,国产优秀的进销存」· PAS 代码 · 共 1,187 行 · 第 1/3 页
PAS
1,187 行
Result := 1;
end;
procedure TcxEditorsLibraryComponentEditorEx.InternalExecuteVerb(AIndex: Integer);
begin
ExecuteEditAction;
end;
{ TcxEditRepositoryComponentEditor }
procedure TcxEditRepositoryComponentEditor.ExecuteEditAction;
begin
ShowEditRepositoryEditor(Designer, GetEditRepository);
end;
function TcxEditRepositoryComponentEditor.GetEditRepository: TcxEditRepository;
begin
Result := Component as TcxEditRepository
end;
{ TcxEditMaskProperty }
function TcxEditMaskProperty.GetAttributes: TPropertyAttributes;
begin
Result := [paDialog, paMultiSelect];
end;
procedure TcxEditMaskProperty.Edit;
var
ADialog: TcxEditMaskEditorDlg;
AMaskEditProperties: TcxCustomMaskEditPropertiesAccess;
APrevEditMask: string;
APrevMaskKind: TcxEditMaskKind;
I: Integer;
begin
AMaskEditProperties := TcxCustomMaskEditPropertiesAccess(GetComponent(0));
APrevEditMask := AMaskEditProperties.EditMask;
APrevMaskKind := AMaskEditProperties.MaskKind;
ADialog := TcxEditMaskEditorDlg.Create(Application);
try
ADialog.MaskEditProperties := AMaskEditProperties;
if ADialog.ShowModal = mrOk then
for I := 1 to PropCount - 1 do
with TcxCustomMaskEditPropertiesAccess(GetComponent(I)) do
begin
MaskKind := AMaskEditProperties.MaskKind;
EditMask := AMaskEditProperties.EditMask;
end;
if (APrevMaskKind <> AMaskEditProperties.MaskKind) or
(APrevEditMask <> AMaskEditProperties.EditMask) then
Designer.Modified;
finally
ADialog.Free;
end;
end;
{ TcxTextProperty }
function TcxTextProperty.GetAttributes: TPropertyAttributes;
begin
if CanShowDialog then
Result := [paDialog]
else
Result := [paMultiSelect];
end;
procedure TcxTextProperty.Edit;
var
ADialog: TcxMaskEditTextEditorDlg;
begin
ADialog := TcxMaskEditTextEditorDlg.Create(Application);
try
ADialog.MaskEdit := TcxCustomMaskEdit(GetComponent(0));
ADialog.ShowModal;
finally
ADialog.Free;
end;
end;
function TcxTextProperty.CanShowDialog: Boolean;
begin
Result := (PropCount = 1) and
TcxCustomMaskEdit(GetComponent(0)).ActiveProperties.IsMasked;
end;
{ TGraphicClassNameProperty }
function TGraphicClassNameProperty.GetAttributes: TPropertyAttributes;
begin
Result := [paValueList, paRevertable];
end;
procedure TGraphicClassNameProperty.GetValues(Proc: TGetStrProc);
var
I: Integer;
begin
for i := 0 to GetRegisteredGraphicClasses.Count - 1 do
Proc(TClass(GetRegisteredGraphicClasses[I]).ClassName);
end;
{$IFDEF DELPHI6}
{ TcxButtonSelectionEditor }
procedure TcxButtonSelectionEditor.RequiresUnits(Proc: TGetStrProc);
begin
Proc('Menus');
Proc('cxLookAndFeelPainters');
end;
procedure TcxComboBoxSelectionEditor.RequiresUnits(Proc: TGetStrProc);
begin
Proc('cxGraphics');
end;
{$ENDIF}
{ TcxFilterControlComponentEditor }
function TcxFilterControlComponentEditor.GetProductMajorVersion: string;
begin
Result := cxEditPropEditorsMajorVersion;
end;
function TcxFilterControlComponentEditor.GetProductName: string;
begin
Result := cxEditorsLibraryProductName;
end;
{ TcxNavigatorControlProperty }
procedure TcxNavigatorControlProperty.GetValues(Proc: TGetStrProc);
begin
FStrProc := Proc;
Designer.GetComponentNames(GetTypeData(GetPropType), StrProc);
end;
procedure TcxNavigatorControlProperty.StrProc(const S: string);
var
AComponent: TComponent;
begin
AComponent := Designer.GetComponent(S);
if (AComponent <> nil) and Supports(AComponent, IcxNavigator) then
FStrProc(S);
end;
{ TcxEditorsLibraryComponentEditor }
procedure TcxEditorsLibraryComponentEditor.Edit;
begin
ShowEventMethod(Designer, Component, 'OnClick', Component.Name + 'Click',
ADefaultMethodParams);
end;
{ TcxEditorsLibraryComponentWithStylesEditor }
function TcxEditorsLibraryComponentWithStylesEditor.GetEditItemCaption: string;
begin
Result := cxCustomEditControlEditorVerbA[1];
end;
procedure TcxEditorsLibraryComponentWithStylesEditor.ExecuteEditAction;
begin
RestoreStyles;
Designer.Modified;
end;
{ TcxEditorsLibraryComponentWithoutStylesEditor }
function TcxEditorsLibraryComponentWithoutStylesEditor.GetEditItemCaption: string;
begin
Result := cxCustomEditControlEditorVerbA[0];
end;
procedure TcxEditorsLibraryComponentWithoutStylesEditor.ExecuteEditAction;
begin
if GetLookAndFeel.AssignedValues <> [] then
begin
GetLookAndFeel.Reset;
Designer.Modified;
end;
end;
{ TcxEditStyleControllerEditor }
procedure TcxEditStyleControllerEditor.Edit;
begin
ShowEventMethod(Designer, Component, 'OnStyleChanged',
Component.Name + 'StyleChanged', ADefaultMethodParams);
end;
procedure TcxEditStyleControllerEditor.RestoreStyles;
begin
TcxEditStyleController(Component).RestoreStyles;
end;
{ TcxDefaultEditStyleControllerEditor }
procedure TcxDefaultEditStyleControllerEditor.Edit;
begin
ShowEventMethod(Designer, Component, 'OnStyleChanged',
Component.Name + 'StyleChanged', ADefaultMethodParams);
end;
procedure TcxDefaultEditStyleControllerEditor.RestoreStyles;
begin
DefaultEditStyleController.RestoreStyles;
end;
{ TcxCustomButtonComponentEditor }
function TcxCustomButtonComponentEditor.GetLookAndFeel: TcxLookAndFeel;
begin
Result := TcxCustomButton(Component).LookAndFeel;
end;
{ TcxRadioButtonComponentEditor }
function TcxRadioButtonComponentEditor.GetLookAndFeel: TcxLookAndFeel;
begin
Result := TcxRadioButton(Component).LookAndFeel;
end;
{ TcxContainerComponentEditor }
procedure TcxContainerComponentEditor.RestoreStyles;
begin
TcxContainer(Component).RestoreStyles;
end;
{ TcxCustomNavigatorComponentEditor }
procedure TcxCustomNavigatorComponentEditor.Edit;
var
AButtons: TcxCustomNavigatorButtons;
begin
AButtons := TcxCustomNavigatorAccess(Component).CustomButtons;
ShowEventMethod(Designer, AButtons, 'OnButtonClick',
Component.Name + 'ButtonsButtonClick', cxNavigatorButtonsOnButtonClickEventParams);
end;
function TcxCustomNavigatorComponentEditor.GetLookAndFeel: TcxLookAndFeel;
begin
Result := TcxCustomNavigator(Component).LookAndFeel;
end;
function TcxCustomNavigatorComponentEditor.InternalGetVerb(AIndex: Integer): string;
begin
if AIndex = 1 then
Result := cxCustomNavigatorEditorVerb
else
Result := inherited InternalGetVerb(AIndex);
end;
function TcxCustomNavigatorComponentEditor.InternalGetVerbCount: Integer;
begin
Result := 1 + inherited InternalGetVerbCount;
end;
procedure TcxCustomNavigatorComponentEditor.InternalExecuteVerb(AIndex: Integer);
begin
if AIndex = 1 then
begin
TcxCustomNavigator(Component).RestoreButtons;
Designer.Modified;
end
else
inherited InternalExecuteVerb(AIndex);
end;
{ TcxCustomImagePropertiesProperty }
procedure TcxCustomImagePropertiesProperty.GetProperties(Proc: {$IFNDEF DELPHI6}TGetPropEditProc{$ELSE}TGetPropProc{$ENDIF});
begin
FProc := Proc;
inherited GetProperties(GetPropProc);
end;
procedure TcxCustomImagePropertiesProperty.GetPropProc({$IFNDEF DELPHI6}Prop: TPropertyEditor{$ELSE}const Prop: IProperty{$ENDIF});
var
I: Integer;
begin
if InternalCompareString(Prop.GetName, 'OnGetGraphicClass', False) then
for I := 0 to PropCount - 1 do
if TcxCustomImage(GetComponent(I)).RepositoryItem = nil then
Exit;
FProc(Prop);
end;
{ TcxEditPropertiesAssignedValuesProperty }
procedure TcxEditPropertiesAssignedValuesProperty.GetProperties(
Proc: {$IFNDEF DELPHI6}TGetPropEditProc{$ELSE}TGetPropProc{$ENDIF});
begin
FProc := Proc;
inherited GetProperties(GetPropProc);
end;
function TcxEditPropertiesAssignedValuesProperty.GetValue: string;
var
AAssignedValues: TcxCustomEditPropertiesValues;
APPropList: PPropList;
APropertyCount: Integer;
I: Integer;
begin
Result := '';
AAssignedValues := TcxCustomEditPropertiesAccess(GetComponent(0)).AssignedValues;
APropertyCount := GetPropList(GetPropType, [tkUnknown..tkDynArray], nil);
if APropertyCount > 0 then
begin
GetMem(APPropList, APropertyCount * SizeOf(Pointer));
try
GetPropList(GetPropType, [tkUnknown..tkDynArray], APPropList);
for I := 0 to APropertyCount - 1 do
if Boolean(GetOrdProp(AAssignedValues, APPropList[I])) and
IsVisibleProperty(APPropList[I].Name) then
begin
if Result <> '' then
Result := Result + ',';
Result := Result + APPropList[I].Name;
end;
finally
FreeMem(APPropList);
end;
end;
Result := '[' + Result + ']';
end;
procedure TcxEditPropertiesAssignedValuesProperty.GetPropProc(
{$IFNDEF DELPHI6}Prop: TPropertyEditor{$ELSE}const Prop: IProperty{$ENDIF});
begin
if IsVisibleProperty(Prop.GetName) then
FProc(Prop);
end;
function TcxEditPropertiesAssignedValuesProperty.IsVisibleProperty(
const APropertyName: string): Boolean;
begin
Result := TypInfo.GetPropInfo(TcxCustomEditProperties(GetComponent(0)),
APropertyName) <> nil;
end;
{ TcxDefaultEditStyleControllerStyleProperty }
function TcxDefaultEditStyleControllerStyleProperty.GetStyle: TcxContainerStyle;
begin
Result := DefaultEditStyleController.Style;
end;
function TcxDefaultEditStyleControllerStyleProperty.IsPropertyVisible(
const APropertyName: string): Boolean;
begin
Result := (APropertyName <> 'StyleController') and
inherited IsPropertyVisible(APropertyName);
end;
{ TcxNavigatorButtonImageIndexProperty }
function TcxNavigatorButtonImageIndexProperty.GetImages: TCustomImageList;
begin
Result := TcxNavigatorButton(GetComponent(0)).Buttons.Images;
end;
{$IFDEF DELPHI10}
{ TcxEditGuidelines }
function TcxEditGuidelines.GetCount: Integer;
begin
Result := inherited GetCount;
if Edit.HasTextBaseLine then
Inc(Result);
end;
function TcxEditGuidelines.GetDesignerGuideOffset(Index: Integer): Integer;
begin
if Edit.HasTextBaseLine and (Index = GetCount - 1) then
Result := Edit.GetTextBaseLine
else
Result := inherited GetDesignerGuideOffset(Index);
end;
function TcxEditGuidelines.GetDesignerGuideType(Index: Integer): TDesignerGuideType;
begin
if Edit.HasTextBaseLine and (Index = GetCount - 1) then
Result := gtBaseline
else
Result := inherited GetDesignerGuideType(Index);
end;
function TcxEditGuidelines.GetEdit: TcxCustomEdit;
begin
Result := TcxCustomEdit(Component);
end;
{$ENDIF}
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?