![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() И опять здравствуйте. Переехал тут на Lazarus, решил ощутить все прелести FreePascal. Есть проблема. Моя задача, создать n-ое количество компонентов TImage, и сделать так, что-бы они двигались после создания. Решил забацать массив, массив-то работает (пока создает только 1 TImage (ну это так пока и задумывается)), но как сделать так, что-бы созданный имейдж начал сдвигаться? Я знаю, как это сделать со статическим Image на форме, но не понимаю, как передать ему свойство left, когда он динамический. Определенно, думаю, без таймера никуда... но ... не получается...
На просторах паутины нашел множество примеров, пробовал, пробовал... - вспотел. Хотелось бы услышать мудрый совет.... Спасибо. И, да... ещё.. есть 2 пустых таймера, один из них, наверно и должен двигать имейджи, а второй - зарезервирован на потом. Собственно - кодец: Код:
unit Unit1; {$mode objfpc}{$H+} interface uses Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, ExtCtrls; type { TForm1 } TForm1 = class(TForm) Button1: TButton; Image1: TImage; Timer1: TTimer; Timer2: TTimer; procedure Button1Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure Timer2Timer(Sender: TObject); private { private declarations } public { public declarations } end; const N= 1; var Form1: TForm1; Img: array[1..N,1..N] of TImage; implementation {$R *.lfm} { TForm1 } procedure TForm1.Button1Click(Sender: TObject); var i,j: Integer; C: Integer; begin for i := 1 to 1 do begin for j := 1 to 1 do begin Img[i,j] := TImage.Create(Self); Img[i,j].Parent := Self; Img[i,j].Left := i*100; Img[i,j].Top := j*80; Img[i,j].Width := 30; Img[i,j].Height := 30; Img[i,j].Picture.LoadFromFile(IntToStr(i)+'.bmp'); Timer2.Enabled:= true; end; end; end; procedure TForm1.Timer1Timer(Sender: TObject); begin end; procedure TForm1.Timer2Timer(Sender: TObject); begin end; end. Последний раз редактировалось Andrey_Ryzhov, 23.10.2013 в 23:24. |