unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    ScrollBox1: TScrollBox;
    Image1: TImage;
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  private
    { Private declarations }
  public
    procedure Rysuj_domek (x,y:integer);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Rysuj_domek(x,y:integer);
begin
  with Image1.Canvas do
  begin
    //daszek
     Polygon([Point(x,y),Point(x+10,y-10),Point(x+20,y)]);
    //dom
     Rectangle(x+3,y,x+17,y+10);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var x,y: integer;
begin
  x:=StrtointDef(Edit1.Text,10); //zabezpieczenie przed błędami
  y:=StrtoIntDef(Edit2.Text,10); //jeśli w okienku Edit nie będzie liczby całkowitej
  // to nie wystapi błąd, tylko domyślnie przypisana zostanie wartośc 10
  //rysowanie obiektu - domek
  Rysuj_domek(x,y);
end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
   Rysuj_domek(X,Y);
end;

end.
