|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
![]() |
|
Опции темы | Опции просмотра |
![]() |
#1 (permalink) |
Новичок
Регистрация: 25.07.2012
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
![]() Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls, ExtCtrls; type TFigure = (None,Line, Square, Tri, Ell, Circle); TForm1 = class(TForm) MainMenu1: TMainMenu; D1: TMenuItem; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; N4: TMenuItem; N5: TMenuItem; N6: TMenuItem; N7: TMenuItem; CheckBox1: TCheckBox; CheckBox2: TCheckBox; CheckBox3: TCheckBox; N8: TMenuItem; PaintBox1: TPaintBox; procedure FormCreate(Sender: TObject); procedure N3Click(Sender: TObject); procedure N4Click(Sender: TObject); procedure N5Click(Sender: TObject); procedure N6Click(Sender: TObject); procedure N7Click(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure CheckBox2Click(Sender: TObject); procedure CheckBox3Click(Sender: TObject); procedure N8Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure PaintBox1Paint(Sender: TObject); procedure PaintBox1Click(Sender: TObject); private { Private declarations } Heig,Wid:Integer; public Figure: TFigure; Red, Green, Blue: Integer; { Public declarations } end; TSizeAndPos = Record Width_, Left_, Height_, Top_ : Integer End; var Form1: TForm1; HResize_ : Integer; WResize_ : Integer; WdivH : Extended; ArrSize : Array Of TSizeAndPos; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); Var i : Integer; begin Figure := None; Red := 0; Green := 0; Blue := 0; Checkbox1.Enabled := false; Checkbox2.Enabled := false; Checkbox3.Enabled := false; Form1.Refresh; end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin Finalize(ArrSize); end; procedure TForm1.N3Click(Sender: TObject); begin Figure := Ell; Form1.Refresh; Checkbox1.Enabled := true; Checkbox2.Enabled := true; Checkbox3.Enabled := true; end; procedure TForm1.N4Click(Sender: TObject); begin Figure := Circle; Form1.Refresh; Checkbox1.Enabled := true; Checkbox2.Enabled := true; Checkbox3.Enabled := true; end; procedure TForm1.N5Click(Sender: TObject); begin Figure := Line; Form1.Refresh; Checkbox1.Enabled := true; Checkbox2.Enabled := true; Checkbox3.Enabled := true; end; procedure TForm1.N6Click(Sender: TObject); begin Figure := Square; Form1.Refresh; Checkbox1.Enabled := true; Checkbox2.Enabled := true; Checkbox3.Enabled := true; end; procedure TForm1.N7Click(Sender: TObject); begin Figure := Tri; Form1.Refresh; Checkbox1.Enabled := true; Checkbox2.Enabled := true; Checkbox3.Enabled := true; end; procedure TForm1.CheckBox1Click(Sender: TObject); begin if Red = 0 then Red := 255 else Red := 0; Form1.Refresh; end; procedure TForm1.CheckBox2Click(Sender: TObject); begin if Blue = 0 then Blue := 255 else Blue := 0; Form1.Refresh; end; procedure TForm1.CheckBox3Click(Sender: TObject); begin if Green = 0 then Green := 255 else Green := 0; Form1.Refresh; end; procedure TForm1.N8Click(Sender: TObject); begin Figure := None; Checkbox1.Enabled := false; Checkbox2.Enabled := false; Checkbox3.Enabled := false; Form1.Refresh; end; procedure TForm1.PaintBox1Paint(Sender: TObject); begin with Form1.Canvas do begin Brush.Color:=RGB(Red, Green, Blue); Pen.Color:=RGB(Red, Green, Blue); if (Figure = Circle) and (paintbox1.height<paintbox1.width) then Ellipse(10, 10, paintbox1.height,paintbox1.height); if (Figure = Circle) and (paintbox1.width<paintbox1.height) then Ellipse(10, 10, paintbox1.width,paintbox1.width); if Figure = Ell then Ellipse(10, 10, paintbox1.width, paintbox1.height); if Figure = Line then begin MoveTo(10,10); LineTo(paintbox1.width,paintbox1.height); end; if (Figure = Square) and (paintbox1.height<paintbox1.width) then FillRect(Bounds(10, 10, paintbox1.height-10, paintbox1.height-10)); if(Figure=Square) and (paintbox1.width<paintbox1.height) then FillRect(Bounds(10, 10, paintbox1.width-10, paintbox1.width-10)); end; if (Figure = Tri) then Canvas.Polygon([Point(30, 10),Point(paintbox1.height,paintbox1.height), Point(paintbox1.width,paintbox1.width)]); end; procedure TForm1.PaintBox1Click(Sender: TObject); begin end; end. |
![]() |
![]() |
![]() |
|
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Если воспользоваться поиском, то можно найти много полезного по вашему запросу DELPHI Помощь в Delphi |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
![]() |
Опции темы | |
Опции просмотра | |
|
|