Круг и квадрат с возможностью менять цвета
Исходный код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls; type TForm1 = class(TForm) ColorDialog1: TColorDialog; MainMenu1: TMainMenu; figura1: TMenuItem; culoare1: TMenuItem; interior1: TMenuItem; exterior1: TMenuItem; aleator11: TMenuItem; selectate11: TMenuItem; aliator21: TMenuItem; selectate21: TMenuItem; patrat1: TMenuItem; cerc1: TMenuItem; Button1: TButton; procedure FormPaint(Sender: TObject); procedure cerc1Click(Sender: TObject); procedure patrat1Click(Sender: TObject); procedure aleator11Click(Sender: TObject); procedure selectate11Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure aliator21Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; f:boolean; culoare,culoare2:integer; implementation {$R *.dfm} procedure TForm1.FormPaint(Sender: TObject); begin culoare:=clwhite; culoare2:=clwhite; form1.Canvas.pen.Width:=5; end; procedure TForm1.cerc1Click(Sender: TObject); begin f:=true; form1.Canvas.Brush.Color:=clbtnface; form1.Canvas.pen.Color:=clbtnface; form1.Canvas.Rectangle(0,0,100,100); form1.Canvas.Brush.color:=culoare; form1.canvas.pen.Color:=culoare2; form1.Canvas.Ellipse(20,20,100,100); end; procedure TForm1.patrat1Click(Sender: TObject); begin f:=false; form1.Canvas.Brush.Color:=clbtnface; form1.Canvas.pen.Color:=clbtnface; form1.Canvas.Rectangle(0,0,100,100); form1.Canvas.Brush.color:=culoare; form1.canvas.pen.Color:=culoare2; form1.Canvas.rectangle(20,20,100,100); end; procedure TForm1.aleator11Click(Sender: TObject); var r,g,b:integer; begin r:=random(255);g:=random(255);b:=random(255); culoare:=rgb(r,g,b); form1.Canvas.Brush.Color:=clbtnface; form1.Canvas.Pen.color:=clbtnface; if f then begin form1.Canvas.Rectangle(0,0,100,100); form1.Canvas.Brush.Color:=culoare; form1.Canvas.Pen.Color:=culoare2; form1.Canvas.Ellipse(20,20,100,100); end else begin form1.Canvas.Rectangle(0,0,100,100); form1.Canvas.Brush.Color:=culoare; form1.canvas.pen.Color:=culoare2; form1.Canvas.Rectangle(20,20,100,100); end; end; procedure TForm1.selectate11Click(Sender: TObject); begin if colordialog1.Execute then culoare:=colordialog1.color; form1.Canvas.Brush.Color:=clbtnface; form1.Canvas.Pen.Color:=clbtnface; if f then begin form1.Canvas.Rectangle(0,0,100,100); form1.Canvas.Brush.Color:=culoare; form1.Canvas.Pen.Color:=culoare2; form1.Canvas.Rectangle(20,20,100,100); end; end; procedure TForm1.Button1Click(Sender: TObject); begin close; end; procedure TForm1.aliator21Click(Sender: TObject); var r,g,b: begin r:=random(255);g:=random(255);b:=random(255); culoare:=rgb(r,g,b); form1.Canvas.Brush.Color:=clbtnface; form1.Canvas.Pen.color:=clbtnface; if f then begin form1.Canvas.Rectangle(0,0,100,100); form1.Canvas.Brush.Color:=culoare; form1.Canvas.Pen.Color:=culoare2; form1.Canvas.Ellipse(20,20,100,100); end else begin form1.Canvas.Rectangle(0,0,100,100); form1.Canvas.Brush.Color:=culoare; form1.canvas.pen.Color:=culoare2; form1.Canvas.Rectangle(20,20,100,100); end; end; end.