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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2011, 15:41   #1
SL1M_DOGG
Пользователь
 
Регистрация: 08.06.2009
Сообщений: 96
Печаль Не рисует на форме (Delphi)

Нужно нарисовать на форме снеговика. После нажатия Run ничего на форме не появляется
Код:
unit Unit7;

interface

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

type
  TForm7 = class(TForm)
    Timer1: TTimer;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form7: TForm7;

implementation
{$R *.dfm}

procedure snegovik;
var xr1,yr1,xn1,yn1: integer;
xr2,yr2,xn2,yn2: integer;
begin
 xr1:=365;
 yr1:=130;
 xn1:=240;
 yn1:=395;
 xr2:=205;
 yr2:=130;
 xn2:=325;
 yn2:=395;
 Form7.Timer1.Interval:=50;
 Form7.canvas.Pen.Color:=clPurple;
 Form7.canvas.Brush.Color:=clWhite;
 Form7.canvas.Ellipse(200,200,400,400);  //туловище
 Form7.canvas.Ellipse( 230,100,370,230);
Form7.canvas.Ellipse( 275,50,340,110);

 Form7.canvas.Ellipse(xr1,yr1,xr1+30,yr1+30);//руки
 Form7.canvas.Ellipse(xr2,yr2,xr2+30,yr2+30);

 Form7.canvas.Ellipse(xn1,yn1,xn1+40,yn1+30); //ноги
 Form7.canvas.Ellipse(xn2,yn2,xn2+40,yn2+30);

 Form7.canvas.Pen.Color:=clBlack;     //глаза
 Form7.canvas.Brush.Color:=clBlack;
 Form7.canvas.Ellipse(280,60,290,70);
 Form7.canvas.Ellipse(305,60,315,70);

 Form7.canvas.Pen.Color:=clRed;   //нос
 Form7.canvas.Brush.Color:=clRed;
 Form7.canvas.MoveTo(290,75);
 Form7.canvas.LineTo(250,77);
 Form7.canvas.MoveTo(290,83);
 Form7.canvas.LineTo(250, 77);
 end;


procedure TForm7.FormCreate(Sender: TObject);
begin
 Form7.Width := 600;
 Form7.Height := 480;
end;

end.
SL1M_DOGG вне форума Ответить с цитированием
Старый 22.12.2011, 16:14   #2
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

И правильно делает)
Где вызов
Код:
procedure snegovik;
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 22.12.2011, 16:16   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ну и правильно. Вы же процедуру рисования ниоткуда не вызываете.
процедуру на Form onPaint добавьте:
Код:
procedure TForm1.FormPaint(Sender: TObject);
begin
   snegovik;
end;
а ещё - зачем Вам таймер на форме? Процедуры, которая назначена на срабатывание таймера у Вас в коде нет!

Последний раз редактировалось Serge_Bliznykov; 22.12.2011 в 16:20.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
directdraw не рисует... ros.pro Мультимедиа в Delphi 5 01.06.2011 19:58
ImageEn. Рисует в стороне. i.pas Мультимедиа в Delphi 2 21.07.2010 15:37
есть ли в Делфи процедура, которая рисует на форме круг заданого радиуса? vedro-compota Общие вопросы Delphi 2 08.05.2010 18:38
Не рисует наследуемый класс. TwiX Общие вопросы Delphi 7 03.10.2009 11:59
Паскаль не рисует! fire_on Паскаль, Turbo Pascal, PascalABC.NET 26 11.08.2009 18:20