⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qiknobcomponenteditor.pas

📁 iocopm3.04源码,一套很好的工控开发工具
💻 PAS
📖 第 1 页 / 共 2 页
字号:

{$R *.dfm}
//****************************************************************************************************************************************************
procedure TiKnobComponentEditorForm.CreateThemeInstance;
begin
  iThemeInstance := TiKnob.Create(Self);
end;
//****************************************************************************************************************************************************
procedure TiKnobComponentEditorForm.CopyPropertiesToForm(Component: TWinControl);
var
  iKnob : TiKnob;
begin
  iKnob := Component as TiKnob;
  //-------------- General ---------------------------------------------------------------------------------------------------------------------------
  PositionEdit.AsFloat                      := iKnob.Position;
  PositionMaxEdit.AsFloat                   := iKnob.PositionMax;
  PositionMinEdit.AsFloat                   := iKnob.PositionMin;
  CurrentMaxEdit.AsFloat                    := iKnob.CurrentMax;
  CurrentMinEdit.AsFloat                    := iKnob.CurrentMin;
  OuterMarginEdit.AsInteger                 := iKnob.OuterMargin;
  ShowFocusRectCheckBox.AsBoolean           := iKnob.ShowFocusRect;
  EnabledCheckBox.AsBoolean                 := iKnob.Enabled;
  CachedDrawingCheckBox.AsBoolean           := iKnob.CachedDrawing;
  TransparentCheckBox.AsBoolean             := iKnob.Transparent;
  AutoSizeCheckBox.AsBoolean                := iKnob.AutoSize;
  AutoFrameRateCheckBox.AsBoolean           := iKnob.AutoFrameRate;
  UpdateFrameRateEdit.AsInteger             := iKnob.UpdateFrameRate;

  BackGroundColorPicker.Color               := iKnob.BackGroundColor;
  PrecisionStyleRadioGroup.AsInteger        := ord(iKnob.PrecisionStyle);

  RotationStartDegreesEdit.AsString         := IntToStr(iKnob.RotationStartDegrees); //Must be set with Text
  RotationMaxDegreesEdit.AsString           := IntToStr(iKnob.RotationMaxDegrees);   //Must be set with Text

  KeyArrowStepSizeEdit.AsFloat              := iKnob.KeyArrowStepSize;
  KeyPageStepSizeEdit.AsFloat               := iKnob.KeyPageStepSize;
  MouseWheelStepSizeEdit.AsFloat            := iKnob.MouseWheelStepSize;

  ShowPositionDisplayCheckBox.AsBoolean     := iKnob.ShowPostionDisplay;
  PositionDisplayPrecisionEdit.AsInteger    := iKnob.PositionDisplayPrecision;
  PositiondisplayUnitsEdit.AsString         := iKnob.PositionDisplayUnits;

  OffsetXEdit.AsInteger                     := iKnob.OffsetX;
  OffsetYEdit.AsInteger                     := iKnob.OffsetY;
  //-------------- Knob/Indicator -------------------------------------------------------------------------------------------------------------
  KnobStyleRadioGroup.AsInteger             := ord(iKnob.KnobStyle);
  KnobRadiusEdit.AsInteger                  := iKnob.KnobRadius;
  KnobEdgeWidthEdit.AsInteger               := iKnob.KnobEdgeWidth;

  IndicatorActiveColorPicker.Color          := iKnob.IndicatorActiveColor;
  IndicatorInactiveColorPicker.Color        := iKnob.IndicatorInactiveColor;
  IndicatorSizeEdit.AsInteger               := iKnob.IndicatorSize;
  IndicatorMarginEdit.AsInteger             := iKnob.IndicatorMargin;
  IndicatorStyleRadioGroup.AsInteger        := ord(iKnob.IndicatorStyle);
  //-------------- Ticks ----------------------------------------------------------------------------------------------------------------------
  TickMarginEdit.AsInteger                  := iKnob.TickMargin;

  ShowTickLabelsCheckBox.AsBoolean          := iKnob.ShowTickLabels;
  TickLabelPrecisionEdit.AsInteger          := iKnob.TickLabelPrecision;
  TickLabelMarginEdit.AsInteger             := iKnob.TickLabelMargin;

  ShowTicksMajorCheckBox.AsBoolean          := iKnob.ShowTicksMajor;
  TickMajorCountEdit.AsInteger              := iKnob.TickMajorCount;
  TickMajorLengthEdit.AsInteger             := iKnob.TickMajorLength;
  TickMajorColorPicker.Color                := iKnob.TickMajorColor;

  ShowTicksMinorCheckBox.AsBoolean          := iKnob.ShowTicksMinor;
  TickMinorCountEdit.AsInteger              := iKnob.TickMinorCount;
  TickMinorLengthEdit.AsInteger             := iKnob.TickMinorLength;
  TickMinorColorPicker.Color                := iKnob.TickMinorColor;
  TickMinorAlignmentRadioGroup.AsInteger    := ord(iKnob.TickMinorAlignment);

  //-------------- AutoScale -------------------------------------------------------------------------------------------------------------------
  AutoScaleDesiredTicksEdit.AsInteger       := iKnob.AutoScaleDesiredTicks;
  AutoScaleMaxTicksEdit.AsInteger           := iKnob.AutoScaleMaxTicks;
  AutoScaleEnabledCheckBox.AsBoolean        := iKnob.AutoScaleEnabled;
  AutoScaleStyleRadioGroup.AsInteger        := ord(iKnob.AutoScaleStyle);

  UpLoadOPCProperties(iKnob, iOPCBrowserPanel);

  PositionDisplayFontPicker.Font.Assign(iKnob.PositionDisplayFont);
  TickLabelFontPicker.Font.Assign(iKnob.TickLabelFont);
end;
//****************************************************************************************************************************************************
procedure TiKnobComponentEditorForm.CopyPropertiesToComponent(Component: TWinControl);
var
  iKnob : TiKnob;
begin
  iKnob := Component as TiKnob;

  iKnob.AutoScaleEnabled         := False;  //Required to set Min & Max before AutoScale Activates
  iKnob.Position                 := PositionEdit.AsFloat;
  iKnob.PositionMax              := PositionMaxEdit.AsFloat;
  iKnob.PositionMin              := PositionMinEdit.AsFloat;
  iKnob.CurrentMax               := CurrentMaxEdit.AsFloat;
  iKnob.CurrentMin               := CurrentMinEdit.AsFloat;
  iKnob.OuterMargin              := OuterMarginEdit.AsInteger;
  iKnob.ShowFocusRect            := ShowFocusRectCheckBox.AsBoolean;
  iKnob.Enabled                  := EnabledCheckBox.AsBoolean;
  iKnob.CachedDrawing            := CachedDrawingCheckBox.AsBoolean;
  iKnob.Transparent              := TransparentCheckBox.AsBoolean;
  iKnob.AutoSize                 := AutoSizeCheckBox.AsBoolean;
  iKnob.AutoFrameRate            := AutoFrameRateCheckBox.AsBoolean;
  iKnob.UpdateFrameRate          := UpdateFrameRateEdit.AsInteger;

  iKnob.BackGroundColor          := BackGroundColorPicker.Color;
  iKnob.PrecisionStyle           := TiPrecisionStyle(PrecisionStyleRadioGroup.AsInteger);

  iKnob.RotationStartDegrees     := StrToInt(RotationStartDegreesEdit.AsString);
  iKnob.RotationMaxDegrees       := StrToInt(RotationMaxDegreesEdit.AsString);

  iKnob.KeyArrowStepSize         := KeyArrowStepSizeEdit.AsFloat;
  iKnob.KeyPageStepSize          := KeyPageStepSizeEdit.AsFloat;
  iKnob.MouseWheelStepSize       := MouseWheelStepSizeEdit.AsFloat;

  iKnob.ShowPostionDisplay       := ShowPositionDisplayCheckBox.AsBoolean;
  iKnob.PositionDisplayPrecision := PositionDisplayPrecisionEdit.AsInteger;
  iKnob.PositionDisplayUnits     := PositiondisplayUnitsEdit.AsString;

  iKnob.OffsetX                  := OffsetXEdit.AsInteger;
  iKnob.OffsetY                  := OffsetYEdit.AsInteger;

  iKnob.KnobStyle                := TiKnobStyle(KnobStyleRadioGroup.AsInteger);
  iKnob.KnobRadius               := KnobRadiusEdit.AsInteger;
  iKnob.KnobEdgeWidth            := KnobEdgeWidthEdit.AsInteger;

  iKnob.IndicatorActiveColor     := IndicatorActiveColorPicker.Color;
  iKnob.IndicatorInactiveColor   := IndicatorInactiveColorPicker.Color;
  iKnob.IndicatorSize            := IndicatorSizeEdit.AsInteger;
  iKnob.IndicatorMargin          := IndicatorMarginEdit.AsInteger;
  iKnob.IndicatorStyle           := TiKnobIndicatorStyle(IndicatorStyleRadioGroup.AsInteger);

  iKnob.TickMargin               := TickMarginEdit.AsInteger;

  iKnob.ShowTickLabels           := ShowTickLabelsCheckBox.AsBoolean;
  iKnob.TickLabelPrecision       := TickLabelPrecisionEdit.AsInteger;
  iKnob.TickLabelMargin          := TickLabelMarginEdit.AsInteger;

  iKnob.ShowTicksMajor           := ShowTicksMajorCheckBox.AsBoolean;
  iKnob.TickMajorCount           := TickMajorCountEdit.AsInteger;
  iKnob.TickMajorLength          := TickMajorLengthEdit.AsInteger;
  iKnob.TickMajorColor           := TickMajorColorPicker.Color;

  iKnob.ShowTicksMinor           := ShowTicksMinorCheckBox.AsBoolean;
  iKnob.TickMinorCount           := TickMinorCountEdit.AsInteger;
  iKnob.TickMinorLength          := TickMinorLengthEdit.AsInteger;
  iKnob.TickMinorColor           := TickMinorColorPicker.Color;
  iKnob.TickMinorAlignment       := TiTickMinorAlignment(TickMinorAlignmentRadioGroup.AsInteger);

  //-------------- AutoScale --------------------------------------------------------------------------------------------------------------------------
  iKnob.AutoScaleDesiredTicks    := AutoScaleDesiredTicksEdit.AsInteger;
  iKnob.AutoScaleMaxTicks        := AutoScaleMaxTicksEdit.AsInteger;
  iKnob.AutoScaleStyle           := TiAutoScaleStyle(AutoScaleStyleRadioGroup.AsInteger);
  iKnob.AutoScaleEnabled         := AutoScaleEnabledCheckBox.Checked;

  DownLoadOPCProperties(iKnob, iOPCBrowserPanel);

  iKnob.PositionDisplayFont.Assign(PositionDisplayFontPicker.Font);
  iKnob.TickLabelFont.Assign(TickLabelFontPicker.Font);
end;
//****************************************************************************************************************************************************
end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -