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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.04.2011, 17:50   #11
tsar_
Форумчанин
 
Аватар для tsar_
 
Регистрация: 06.01.2011
Сообщений: 369
По умолчанию

Куда же вы?
Я вот воплотил в коде все, что тут наговорил. На форму кидаешь Button (для запуска и остановки анимации) и Timer (поставь Timer1.Enabled:=false в инспекторе объектов). Модуль к форме:

Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Timer1: TTimer;
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure Line(Cvs: TCanvas; x1, y1, x2, y2: integer);
begin
  Cvs.MoveTo(x1, y1);
  Cvs.LineTo(x2, y2);
end;

//procedure

procedure TForm1.Button1Click(Sender: TObject);
begin
 timer1.Enabled:=not timer1.Enabled;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Canvas.Pen.Color := clBtnFace;
  Canvas.Brush.Color := clBtnFace;
  Canvas.Rectangle(0,0,ClientWidth,ClientHeight);

  Canvas.Pen.Color := clblack;
  Canvas.Brush.Color := ClWhite;
  Canvas.Ellipse(200, 140, 250, 190);
  Line(Canvas, 229, 191, 229, 355);
  Line(Canvas, 192, 224, 228, 224);

  if timer1.Tag=0 then
   begin
   Line(Canvas, 191, 223, 152, 238);
   timer1.Tag:=1;
   end
  else
   begin
   Line(Canvas, 191, 223, 180, 180);
   timer1.Tag:=0;
   end;

  Line(Canvas, 231, 224, 274, 223);
  Line(Canvas, 274, 223, 297, 188);
  Line(Canvas, 225, 350, 150, 399);
  Line(Canvas, 153, 399, 150, 469);
  Line(Canvas, 151, 469, 117, 470);
  Line(Canvas, 231, 349, 306, 397);
  Line(Canvas, 307, 398, 308, 459);
  Line(Canvas, 308, 461, 344, 461);


end;

end.
Мелькает, но работает: машет...
Программирую по необходимости

Последний раз редактировалось tsar_; 13.04.2011 в 17:52.
tsar_ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нарисовать на форме график Symba Общие вопросы Delphi 4 17.03.2011 20:20
Delphi: как поместить анимацию (без звука) в отдельный поток? ex.cluz Помощь студентам 0 15.01.2010 14:26
как нарисовать лыжника в delphi Валерия Помощь студентам 8 11.01.2009 13:20
Как же нарисовать линию на форме? (Вопрос новичка) grey Помощь студентам 11 24.11.2008 10:31
Delphi. Как нарисовать в Delphi два движущиеся шара с определенной скоростью? redred Общие вопросы Delphi 10 11.12.2007 10:43