📄 qiknobcomponenteditor.pas
字号:
{$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 + -