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

📄 dlgsignalsettings.pas

📁 著名的虚拟仪表控件,包含全部源码, 可以在,delphi2007 下安装运行
💻 PAS
字号:
unit DlgSignalSettings;

{******************************************************************************}
{ Abakus VCL                                                                   }
{                    Property-editor to adjust SignalSettings                  }
{                       belongs to all analog indicators                       }
{                                                                              }
{******************************************************************************}
{        e-Mail: support@abaecker.de , Web: http://www.abaecker.com            }
{------------------------------------------------------------------------------}
{          (c) Copyright 1998..2001 A.Baecker, All rights Reserved             }
{******************************************************************************}

{$I Abks.inc}

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, AbNumEdit, _GClass, Buttons,
  {$IFDEF D6} DesignWindows, DesignEditors, DesignIntf, {$ELSE} DsgnIntf, {$ENDIF}
  _AbProc;

type
  TSignalSettings_Form = class(TForm)
    ValueFromSpin: TAbNumSpin;
    ValueToSpin: TAbNumSpin;
    Label2: TLabel;
    DigitalFromSpin: TAbNumSpin;
    DigitalToSpin: TAbNumSpin;
    Label1: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Name1Edit: TEdit;
    Label5: TLabel;
    Name2Edit: TEdit;
    Label6: TLabel;
    ValueUnitEdit: TEdit;
    Label7: TLabel;
    ValueFormatEdit: TEdit;
    Label8: TLabel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    procedure DigitalFromSpinValueChanged(Sender: TObject);
    procedure DigitalToSpinValueChanged(Sender: TObject);
    procedure ValueFromSpinValueChanged(Sender: TObject);
    procedure ValueToSpinValueChanged(Sender: TObject);
    procedure ValueUnitEditChange(Sender: TObject);
    procedure ValueFormatEditChange(Sender: TObject);
    procedure Name1EditChange(Sender: TObject);
    procedure Name2EditChange(Sender: TObject);
  private
    { Private-Deklarationen }
    procedure GetSettings;
  public
    { Public-Deklarationen }
  end;

  TSignalSettingsEditor = class(TClassProperty)
  public
    procedure edit; override;
    function GetAttributes: TPropertyAttributes; override;
  //  function GetValue: string; override;
  end;

var
  SignalSettings_Form: TSignalSettings_Form;
  SignSettings : TSignalSettings;

implementation

{$R *.DFM}

procedure TSignalSettingsEditor.edit;
var
  SignSettings2 : TSignalSettings;
  TmpSignSettings : TSignalSettings;
  n : Integer;
begin
  TmpSignSettings := TSignalSettings.Create;
  SignalSettings_Form := TSignalSettings_Form.Create(Application);
  AbLoadFormPos(SignalSettings_Form);
  try
    with SignalSettings_Form do begin

      SignSettings := TSignalSettings(GetOrdValue);
      TmpSignSettings.Assign(SignSettings);
      GetSettings;

      if ShowModal = mrOK then begin
        Modified;
        for n := 1 to propCount - 1 do begin
          SignSettings2 := TSignalSettings(GetOrdValueAt(n));
          SignSettings2.Assign(SignSettings);
        end;

      end else begin
        SignSettings.Assign(TmpSignSettings);
      end;
    end;
  finally
    AbSaveFormPos(SignalSettings_Form);
    TmpSignSettings.Free;
    SignalSettings_Form.Free;
  end;
end;

function TSignalSettingsEditor.GetAttributes: TPropertyAttributes;
begin
  Result := [paMultiSelect, paSubProperties, paAutoUpdate, paDialog, paReadOnly];
end;
{
function TSignalSettingsEditor.GetValue: string;
begin
  result := '(TSignalSettings)';
end;
 }


procedure TSignalSettings_Form.GetSettings;
begin
  with SignSettings do begin
    ValueFromSpin.Value    := ValueFrom;
    ValueToSpin.Value      := ValueTo;
    DigitalFromSpin.Value  := DigitalFrom;
    DigitalToSpin.Value    := DigitalTo;
    ValueUnitEdit.Text     := ValueUnit;
    ValueFormatEdit.Text   := ValueFormat;
    Name1Edit.Text         := Name1;
    Name2Edit.Text         := Name2;
  end;
end;

procedure TSignalSettings_Form.DigitalFromSpinValueChanged(
  Sender: TObject);
begin
  SignSettings.DigitalFrom := DigitalFromSpin.ValueAsInt;
end;

procedure TSignalSettings_Form.DigitalToSpinValueChanged(Sender: TObject);
begin
  SignSettings.DigitalTo := DigitalToSpin.ValueAsInt;
end;

procedure TSignalSettings_Form.ValueFromSpinValueChanged(Sender: TObject);
begin
  SignSettings.ValueFrom := ValueFromSpin.ValueAsSingle;
end;

procedure TSignalSettings_Form.ValueToSpinValueChanged(Sender: TObject);
begin
  SignSettings.ValueTo := ValueToSpin.ValueAsSingle;
end;

procedure TSignalSettings_Form.ValueUnitEditChange(Sender: TObject);
begin
  SignSettings.ValueUnit := ValueUnitEdit.Text;
end;

procedure TSignalSettings_Form.ValueFormatEditChange(Sender: TObject);
begin
  SignSettings.ValueFormat := ValueFormatEdit.Text;
end;

procedure TSignalSettings_Form.Name1EditChange(Sender: TObject);
begin
  SignSettings.Name1 := Name1Edit.Text;
end;

procedure TSignalSettings_Form.Name2EditChange(Sender: TObject);
begin
  SignSettings.Name2 := Name2Edit.Text;
end;

end. 

⌨️ 快捷键说明

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