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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.04.2013, 00:39   #1
azemrug
 
Регистрация: 11.03.2010
Сообщений: 5
По умолчанию Изображения в Delphi

как в Delphi при нажатие кнопки Button1 изображение Image1 двигалься из точки А в точку Б.мне нужно чтобы несколько Image одновременно двигался из точки А в точку Б, только у каждая свая точка А и точка Б
azemrug вне форума Ответить с цитированием
Старый 03.04.2013, 00:48   #2
misher
Участник клуба
 
Аватар для misher
 
Регистрация: 26.05.2010
Сообщений: 1,648
По умолчанию

Движение для одной картинки:

Код:
unit Unit1;

interface

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

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

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
timer1.enabled:=false;
end;

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

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Image1.Left:=Image1.Left+5;
end;

end.
This world will never be What I expected (c)
misher вне форума Ответить с цитированием
Старый 03.04.2013, 00:54   #3
azemrug
 
Регистрация: 11.03.2010
Сообщений: 5
По умолчанию

и ImageTop тоже должны двигаться использовать другой Timer?

Последний раз редактировалось azemrug; 03.04.2013 в 01:02.
azemrug вне форума Ответить с цитированием
Старый 03.04.2013, 01:14   #4
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

если image.top-это движение вверх или вниз, зависит от того, + или - вы поставите в рекуррентной ФОРМУЛЕ...а зачем вам другой таймер?
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 03.04.2013, 16:33   #5
azemrug
 
Регистрация: 11.03.2010
Сообщений: 5
По умолчанию

когда Image достигнет точки Б должна остановиться как это сделать?

Последний раз редактировалось azemrug; 03.04.2013 в 16:48.
azemrug вне форума Ответить с цитированием
Старый 03.04.2013, 17:03   #6
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

Цитата:
Сообщение от azemrug Посмотреть сообщение
когда Image достигнет точки Б должна остановиться как это сделать?
Достаточно остановить таймер.
Delphi_ProGer вне форума Ответить с цитированием
Старый 03.04.2013, 17:13   #7
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

На примере кнопки:
Код:
unit Unit1;

interface

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

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

var
  Form1: TForm1;
  a, b: tpoint;
  i: integer;

const
  count = 20;

implementation

{$R *.dfm}

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

procedure TForm1.FormCreate(Sender: TObject);
begin
  Timer1.Enabled := false;
  a := point(10, 10);
  b := point(250, 200);
  i := 0;
  Button1.Top := a.Y;
  Button1.Left := a.X;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  inc(i);
  Button1.Top := round(a.Y + (b.Y - a.Y) * i / count);
  Button1.Left := round(a.X + (b.X - a.X) * i / count);
  if i > count then
  begin
    i := 0;
    Timer1.Enabled := false;
  end;
end;

end.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 03.04.2013, 22:37   #8
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

картинка должна сама остановиться без участия пользователя? А смысл...можно сделать чтобы картинка перемещалась туда, где будет щелчок по форме например, конкретизируйте задание...
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определить формат изображения в Delphi. Pinguinius Общие вопросы Delphi 2 06.01.2013 23:01
PCX-изображения и стеганография (Delphi) Namamkashiki Помощь студентам 5 25.11.2012 19:46
Изображения в DBGridEh (Delphi 7) 4uvak111 Помощь студентам 1 12.11.2010 22:20
Вставка изображения в word средствами delphi MeTeOpA БД в Delphi 2 03.06.2010 22:09
Delphi. Перетягивание изображения ugagaga Помощь студентам 3 12.12.2009 02:40