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

📄 rectangleproperty.pas

📁 A diagram edit component for delphi/c++ builder with full source included
💻 PAS
字号:
unit RectangleProperty;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, JvCombobox,DrawBox, JvEdit, JvSpin, ExtCtrls,
  JvShape,TypInfo, JvColorCombo, JvShapeTypeComboBox, dcedit;

type
  TRectanglePropertyForm = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    DCBrushStyleEdit1: TDCBrushStyleEdit;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    DCColorEdit1: TDCColorEdit;
    DCColorEdit2: TDCColorEdit;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    JvComboBox1: TJvComboBox;
    JvSpinEdit1: TJvSpinEdit;
    Label6: TLabel;
    Shape1: TShape;
    procedure BitBtn1Click(Sender: TObject);
    procedure JvComboBox1Change(Sender: TObject);
    procedure DCColorEdit1Change(Sender: TObject);
    procedure JvSpinEdit1Change(Sender: TObject);
    procedure DCBrushStyleEdit1Change(Sender: TObject);
    procedure DCColorEdit2Change(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    FObj:TRectangle;

    procedure SetObj(value:TRectangle);
  public

    property Obj:TRectangle read FObj write SetObj;
  end;

var
  RectanglePropertyForm: TRectanglePropertyForm;

implementation

{$R *.DFM}

procedure TRectanglePropertyForm.SetObj(value:TRectangle);
begin
  FObj:=value;

  Edit1.text:=FObj.ClassName;
  JvComboBox1.ItemIndex:=JvComboBox1.Items.IndexOf(GetEnumName(Typeinfo(TShapeType),Integer(FObj.Shape)));
  DCColorEdit1.SelectedColor:=FObj.pen.Color;
  JvSpinEdit1.Value:=FObj.Pen.Width;
  DCBrushStyleEdit1.BrushStyle:=FObj.Brush.Style;
  DCColorEdit2.SelectedColor:=FObj.Brush.Color;
end;

procedure TRectanglePropertyForm.BitBtn1Click(Sender: TObject);
var
  s:string;
begin
  //FObj.ClassName:=Edit1.text;
  FObj.Shape:=TShapeType(GetEnumValue(TypeInfo(TShapeType), JvComboBox1.text));
  FObj.pen.Color:=DCColorEdit1.SelectedColor;
  FObj.Pen.Width:=Round(JvSpinEdit1.value);
  FObj.Brush.Style:=DCBrushStyleEdit1.BrushStyle;
  FObj.Brush.Color:=DCColorEdit2.SelectedColor;
end;

procedure TRectanglePropertyForm.JvComboBox1Change(Sender: TObject);
begin
  shape1.Shape:=TShapeType(GetEnumValue(TypeInfo(TShapeType), JvComboBox1.text));
end;

procedure TRectanglePropertyForm.DCColorEdit1Change(Sender: TObject);
begin
  shape1.Pen.Color:=DCColorEdit1.SelectedColor;
end;

procedure TRectanglePropertyForm.JvSpinEdit1Change(Sender: TObject);
begin
  shape1.Pen.Width:=Round(JvSpinEdit1.value);
end;

procedure TRectanglePropertyForm.DCBrushStyleEdit1Change(Sender: TObject);
begin
  shape1.brush.Style:=DCBrushStyleEdit1.BrushStyle;
end;

procedure TRectanglePropertyForm.DCColorEdit2Change(Sender: TObject);
begin
  shape1.Brush.Color:=DCColorEdit2.SelectedColor;
end;

procedure TRectanglePropertyForm.FormCreate(Sender: TObject);
  procedure FillShapeType;
  var
    i: integer;
    l,h: integer;
  begin
    with JvComboBox1 do begin
      Clear;
      with GetTypeData(TypeInfo(TShapeType))^ do begin
        l := MinValue;
        h := MaxValue;
      end;

      for i := l to h do begin
        Items.AddObject(GetEnumName(TypeInfo(TShapeType), i), TObject(i));
      end;
    end;
  end;
begin
  FillShapeType;
end;

end.

⌨️ 快捷键说明

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