📄 rectangleproperty.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 + -