Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.01.2011, 22:11   #1
forestm
Новичок
Джуниор
 
Регистрация: 02.01.2011
Сообщений: 1
По умолчанию окружность в делфи

Здравствуйте! Помогите пожалуйста подредактировать программку, условие которой:
Создать приложение, позволяющее рисовать окружности (по нажатию и удерживанию левой клавиши мыши) и эллипсы (по правой кнопке мыши). Предусмотреть возможность задания цвета контура и заливки, стирания окна рисования.
А вот сама программа:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    ris: TImage;
    ColorBox1: TColorBox;
    ColorBox2: TColorBox;
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    procedure risMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure risMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure ColorBox1Change(Sender: TObject);
    procedure ColorBox2Change(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  nachx,nachy,konx,kony: integer;

implementation

{$R *.dfm}

procedure TForm1.risMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 if Button<>mbLeft then exit;
  nachx:=X;
  nachy:=Y;
end;

procedure TForm1.risMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
   if Button<>mbLeft then exit;
  konx:=X;
  kony:=Y;
if (Button=mbRight) then ris.Canvas.Ellipse(nachX,nachY,konX,konX)
  else ris.Canvas.Ellipse(nachX,nachY,konX,konY);
end;

procedure TForm1.ColorBox1Change(Sender: TObject);
begin
ris.Canvas.Pen.Color:=colorbox1.Selected;
end;

procedure TForm1.ColorBox2Change(Sender: TObject);
begin
 ris.Canvas.Brush.Color:=colorbox2.Selected;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ris.Canvas.Brush.Color:=clWhite;
  ris.Canvas.FillRect(RECT(0,0,ris.Width,ris.Height));
  ris.Canvas.Brush.Color:=colorbox2.Selected;
end;

end.

________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 03.01.2011 в 22:54.
forestm вне форума Ответить с цитированием
Старый 03.01.2011, 03:58   #2
WhiteSpirit
Пользователь
 
Регистрация: 28.05.2010
Сообщений: 82
По умолчанию

http://programmersforum.ru/showthread.php?t=117240
WhiteSpirit вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прямая и Окружность Ukeeler Помощь студентам 5 02.11.2010 17:50
Пунктирная окружность Гамбит Помощь студентам 3 13.03.2010 14:39
Множества и Окружность Voortex Фриланс 10 05.03.2010 21:16
Окружность.. surovii Помощь студентам 28 29.03.2009 18:00
вписать в треугольник окружность stimswall Помощь студентам 3 21.03.2009 03:15